SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Linguagem de programação


      Introdução a OO
        Carlos Melo
Sumário

• Cenários de desenvolvimento;
• Histórico da OO;
• Conceitos de OO;
• Análise e Desenvolvimento;
• Bancos de dados OO;
CENÁRIOS DE
DESENVOLVIMENTO
Cenário Estrutural

• Foco principal nas funções depois nos
  dados, informações desagrupadas;
• As ideias e necessidades dos usuários normalmente não
  ficam claras:
  • Quais são suas necessidades para o sistema;
  • Preciso de um sistema que controle todas vendas dos
    produtos;
Cenário Estrutural

• Validação com o usuário
  • É muito difícil para o usuário leigo entender um modelo
    ER;
  • Problemas se descobrem durante a implementação
Cenário Estrutural

• Excesso de documentação ou nenhuma;
• Cronograma apertado, prazos estourados, dificuldade de
  reaproveitamento de código;
• Cliente insatisfeito;
• Horas infindáveis de manutenção corretiva;
• Custo elevado de projeto.
Cenário OO

• Foco principal nos objetos do mundo real, com suas
  funções e dados agrupados.
• Deve-se fazer o levantamento de requisitos já pensando
  nos objetos do mundo real;
• Facilita o entendimento por parte do programador das
  necessidades do usuário;
  • O que vamos controlar;
  • Nossos Carros.
Cenário OO

• Diminuição de tempo e custo de desenvolvimento;
• Atendimento da demanda gerada pela evolução
  tecnológica;
• Reutilização do código, facilidade de manutenção.
HISTÓRICO DA ORIENTAÇÃO A
OBJETOS
Histórico

• 1967: Simula – introduz os primeiros conceitos de OO;
• 1972: SmallTalk;
• 1980: C++ linguagem híbrida, derivada da linguagem C;
• 1983: Ada criada para uso militar nos EUA;
• 1984: Eiffel primeiras características formais de OO;
• 1986: Object Pascal;
• 1995: JAVA – Linguagem puramente orientada a objetos;
• 1995: Várias linguagens agregando conceitos de OO
Java

• O Java é ao mesmo tempo um ambiente e uma
  linguagem de programação desenvolvida pela Sun
  Microsystem, Inc;
• Trata-se de mais um representante da nova geração de
  linguagens orientadas a objetos e foi projetado para
  resolver os problemas da área de programação
  cliente/servidor;
• Os aplicativos em Java são compilados em um código de
  bytes independente de arquitetura.
Java

• Esse código de bytes pode então ser executado em
  qualquer plataforma que suporte um interpretador Java.
• O Java requer somente uma fonte e um binário e, mesmo
  assim, é capaz de funcionar em diversas plataformas, o
  que faz dele um sonho de todos que realizam
  manutenção em programas.
Evolução da OO

• Não se configura como mudança de paradigma abrupta.
  Evoluiu de ideias já manifestadas há algum tempo.
• Programação orientada a objetos é uma evolução da
  programação estruturada;
• Na programação estruturada temos funções(procedures
  ou rotinas) e dados (normalmente globais) que podem ser
  acessados por qualquer função.
Evolução da OO

• Na programação orientada a objetos, temos funções
  agregadas aos dados em uma unidade chamada
  objeto, ou seja, os dados não estão separados das
  funções, mas sim unidos as mesmas.
• A tendência para os próximos anos é que a maioria das
  linguagens de programação sejam baseadas em objetos.
CONCEITOS DE ORIENTAÇÃO A
OBJETOS
Bases da orientação a objetos

• Na compreensão do mundo, os seres humanos utilizam-
  se de três ,métodos de pensamento:
  • Diferenciação;
  • Distinção entre todo e parte;
  • Classificação;
  • Vê a orientação a objetos, como técnica para a
    modelagem de sistemas, utiliza esses métodos para
    diminuir a diferença semântica entre a realizade e o
    modelo.
Exemplo




      Computador             docente            aluno
                   Utiliza             Ensina
Conceitos

• Objetos e Instâncias;
• Classes;
• Atributos;
• Métodos;
• Visibilidade de atributos e operações;
• Mensagens;
Objetos

• Um objeto denota uma entidade, seja ela de natureza
  física, conceitual ou de software.
  • Entidades físicas: um carro, umas pessoa, uma casa;
  • Entidade conceitual: um organograma de uma
    empresa;
  • Entidade de software: um botão em uma GUI
Objetos

• É uma entidade capaz de reter um
  estado(informação/atributos/propriedades) e que oferece
  uma série de operações (comportamentos/métodos) ou
  para examinar ou para afetar o estado;
• Um objeto é um conceito, uma abstração, algo com
  limites e significados nítidos em relação ao domínio de
  uma aplicação;
• Objetos facilitam a compreensão do mundo real e
  oferecem uma base real para a implementação em
  computador.
Objeto

• Um objeto é algo que tem:
  • Estado;
  • Comportamento;
  • Identidade;
Estado de um objeto

• O estado de um objeto representa uma das possíveis
  condições em que um objeto pode existir;
• O estado é representado pelos valores das propriedades
  de um objeto em um determinado instante;
• O estado do objeto usualmente muda ao longo do tempo;
• Exemplo (Aluno):
  • Nome: Carlos;
  • Matrícula: 229844130;
  • Entrada: 2011.2.
Comportamento de um objeto

• O comportamento determina como um objeto pode
  responder a interações mediante a ativação de operações
  decorrentes de mensagens recebidas de outros objetos;
• O comportamento e determinado pelo conjunto de
  operações que o objeto pode realizar;
• Controle acadêmico;
   • Entrada: Carlos;
• Solicita entrada
   • Retorna:2011.2
Identidade de um objeto

• Cada objeto tem um único identificador, mesmo que seu
  estado seja idêntico ao de outro objeto;
  • Carlos (objeto);
  • Controle acadêmico(sistema que esta sendo
    construído);
  • Entrada(estado);
  • Matrícula 229844130 (propriedade do aluno)
  • Lista de semestres cursados(pode ser um objeto!!)
  • Semestre corrente(mesmo que semestre)
Objeto
• Um objeto de software mantém seu estado em uma ou
  mais de suas variáveis. Ele implementa seu
  comportamento através de seus métodos.
• Método é o mesmo que função ou procedimento.
• Por definição: Um objeto é um pedaço de software que
  possui variáveis (estado) e métodos (comportamento).
Objeto

• Um sistema pode conter um ou inúmeros objetos ativos.
  Cada objeto ativo no sistema em particular também é
  chamado de instância. As diferentes instâncias possuem
  seu próprio estado.
Objeto

• Cada instância de pessoa possui um estado diferente em
  particular.
• Porém, cada instância, além do estado, também possui
  seus métodos (comportamento) que operam sobre o
  próprio estado. Em outras palavras, para pular, cada
  pessoa vai fazer uma determinada força dependendo da
  sua idade, altura e peso, por exemplo.
• A ideia é que cada objeto seja responsável por seus
  dados (estado) e seja capaz de realizar as próprias
  operações que lhe foram atribuídas (comportamento).
Mensagem

• Um objeto por si só não significa muito em um sistema.
  Para ter algum sentido e valor esses objetos precisam
  interagir e comunicar-se entre si.
• Os objetos se comunicam por meio de mensagens.




   Quando um objeto A quer se comunicar com um objeto B é
   enviada uma mensagem de A para B.
Mensagem

• Enviar uma mensagem significa executar um método.
• Então, se A envia uma mensagem para B, podemos entender
  como o objeto A executando um método do objeto B.
As mensagens são compostas por três partes:
1. Objeto a quem a mensagem é endereçada
2. Nome do método a ser chamado
3. Parâmetros que o método recebe
Classe
• No mundo real freqüentemente percebemos vários objetos de um
  mesmo tipo. Por exemplo: seu carro é um dos muitos carros
  existentes no mundo.
• Usando a terminologia OO, dizemos que um carro em particular é
  uma instância da classe de objetos conhecida como carros.
• Os carros, em geral, possuem estado (cor, potência do
  motor, combustível) e comportamento (ligar, acelerar, brecar, mudar
  marcha) em comum.
• O estado de cada carro é independente e pode ser diferente do
  estado dos outros carros. Cada carro pode ter uma cor diferentes, por
  exemplo.
• A partir dessas semelhanças, os fabricantes de veículos tiram
  vantagem disso para padronizar a construção de carros de um
  mesmo tipo, definindo um modelo único com características iguais
  para todos os carros a serem produzidos.

Weitere ähnliche Inhalte

Was ist angesagt?

Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a ObjetosEdy Segura
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)guest18b3c00
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Conhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaConhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaMicael Coutinho
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao SwingArthur Emanuel
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetosSliedesharessbarbosa
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 

Was ist angesagt? (20)

Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Aula 1 3
Aula 1 3Aula 1 3
Aula 1 3
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Conhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaConhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação Java
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetos
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 

Ähnlich wie Introdução à OO: classes, objetos e mensagens

Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetosFrank Coelho
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basicsJuarez Junior
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetosWesley R. Bezerra
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
Do oo para_funcional
Do oo para_funcionalDo oo para_funcional
Do oo para_funcionalPedro Correia
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos finalemcp11
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdfGabrielMarchesan
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 

Ähnlich wie Introdução à OO: classes, objetos e mensagens (20)

Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
02_revisao_OO.pdf
02_revisao_OO.pdf02_revisao_OO.pdf
02_revisao_OO.pdf
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basics
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetos
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
Aula 04.pdf
Aula 04.pdfAula 04.pdf
Aula 04.pdf
 
Do oo para_funcional
Do oo para_funcionalDo oo para_funcional
Do oo para_funcional
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 

Mehr von Carlos Melo

Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçaoCarlos Melo
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeCarlos Melo
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitorCarlos Melo
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentosCarlos Melo
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automaçãoCarlos Melo
 
Apresentação12
Apresentação12Apresentação12
Apresentação12Carlos Melo
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2Carlos Melo
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1Carlos Melo
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1Carlos Melo
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básicaCarlos Melo
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutoresCarlos Melo
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destecCarlos Melo
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Carlos Melo
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descriçãoCarlos Melo
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2Carlos Melo
 

Mehr von Carlos Melo (20)

Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
Zener
ZenerZener
Zener
 
Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçao
 
Capacitancia
CapacitanciaCapacitancia
Capacitancia
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tarde
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitor
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentos
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automação
 
Apresentação12
Apresentação12Apresentação12
Apresentação12
 
Pneumática
PneumáticaPneumática
Pneumática
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básica
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutores
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destec
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descrição
 
Recuperação 1
Recuperação 1Recuperação 1
Recuperação 1
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2
 

Introdução à OO: classes, objetos e mensagens

  • 1. Linguagem de programação Introdução a OO Carlos Melo
  • 2. Sumário • Cenários de desenvolvimento; • Histórico da OO; • Conceitos de OO; • Análise e Desenvolvimento; • Bancos de dados OO;
  • 4. Cenário Estrutural • Foco principal nas funções depois nos dados, informações desagrupadas; • As ideias e necessidades dos usuários normalmente não ficam claras: • Quais são suas necessidades para o sistema; • Preciso de um sistema que controle todas vendas dos produtos;
  • 5. Cenário Estrutural • Validação com o usuário • É muito difícil para o usuário leigo entender um modelo ER; • Problemas se descobrem durante a implementação
  • 6. Cenário Estrutural • Excesso de documentação ou nenhuma; • Cronograma apertado, prazos estourados, dificuldade de reaproveitamento de código; • Cliente insatisfeito; • Horas infindáveis de manutenção corretiva; • Custo elevado de projeto.
  • 7. Cenário OO • Foco principal nos objetos do mundo real, com suas funções e dados agrupados. • Deve-se fazer o levantamento de requisitos já pensando nos objetos do mundo real; • Facilita o entendimento por parte do programador das necessidades do usuário; • O que vamos controlar; • Nossos Carros.
  • 8. Cenário OO • Diminuição de tempo e custo de desenvolvimento; • Atendimento da demanda gerada pela evolução tecnológica; • Reutilização do código, facilidade de manutenção.
  • 10. Histórico • 1967: Simula – introduz os primeiros conceitos de OO; • 1972: SmallTalk; • 1980: C++ linguagem híbrida, derivada da linguagem C; • 1983: Ada criada para uso militar nos EUA; • 1984: Eiffel primeiras características formais de OO; • 1986: Object Pascal; • 1995: JAVA – Linguagem puramente orientada a objetos; • 1995: Várias linguagens agregando conceitos de OO
  • 11. Java • O Java é ao mesmo tempo um ambiente e uma linguagem de programação desenvolvida pela Sun Microsystem, Inc; • Trata-se de mais um representante da nova geração de linguagens orientadas a objetos e foi projetado para resolver os problemas da área de programação cliente/servidor; • Os aplicativos em Java são compilados em um código de bytes independente de arquitetura.
  • 12. Java • Esse código de bytes pode então ser executado em qualquer plataforma que suporte um interpretador Java. • O Java requer somente uma fonte e um binário e, mesmo assim, é capaz de funcionar em diversas plataformas, o que faz dele um sonho de todos que realizam manutenção em programas.
  • 13. Evolução da OO • Não se configura como mudança de paradigma abrupta. Evoluiu de ideias já manifestadas há algum tempo. • Programação orientada a objetos é uma evolução da programação estruturada; • Na programação estruturada temos funções(procedures ou rotinas) e dados (normalmente globais) que podem ser acessados por qualquer função.
  • 14. Evolução da OO • Na programação orientada a objetos, temos funções agregadas aos dados em uma unidade chamada objeto, ou seja, os dados não estão separados das funções, mas sim unidos as mesmas. • A tendência para os próximos anos é que a maioria das linguagens de programação sejam baseadas em objetos.
  • 16. Bases da orientação a objetos • Na compreensão do mundo, os seres humanos utilizam- se de três ,métodos de pensamento: • Diferenciação; • Distinção entre todo e parte; • Classificação; • Vê a orientação a objetos, como técnica para a modelagem de sistemas, utiliza esses métodos para diminuir a diferença semântica entre a realizade e o modelo.
  • 17. Exemplo Computador docente aluno Utiliza Ensina
  • 18. Conceitos • Objetos e Instâncias; • Classes; • Atributos; • Métodos; • Visibilidade de atributos e operações; • Mensagens;
  • 19. Objetos • Um objeto denota uma entidade, seja ela de natureza física, conceitual ou de software. • Entidades físicas: um carro, umas pessoa, uma casa; • Entidade conceitual: um organograma de uma empresa; • Entidade de software: um botão em uma GUI
  • 20. Objetos • É uma entidade capaz de reter um estado(informação/atributos/propriedades) e que oferece uma série de operações (comportamentos/métodos) ou para examinar ou para afetar o estado; • Um objeto é um conceito, uma abstração, algo com limites e significados nítidos em relação ao domínio de uma aplicação; • Objetos facilitam a compreensão do mundo real e oferecem uma base real para a implementação em computador.
  • 21. Objeto • Um objeto é algo que tem: • Estado; • Comportamento; • Identidade;
  • 22. Estado de um objeto • O estado de um objeto representa uma das possíveis condições em que um objeto pode existir; • O estado é representado pelos valores das propriedades de um objeto em um determinado instante; • O estado do objeto usualmente muda ao longo do tempo; • Exemplo (Aluno): • Nome: Carlos; • Matrícula: 229844130; • Entrada: 2011.2.
  • 23. Comportamento de um objeto • O comportamento determina como um objeto pode responder a interações mediante a ativação de operações decorrentes de mensagens recebidas de outros objetos; • O comportamento e determinado pelo conjunto de operações que o objeto pode realizar; • Controle acadêmico; • Entrada: Carlos; • Solicita entrada • Retorna:2011.2
  • 24. Identidade de um objeto • Cada objeto tem um único identificador, mesmo que seu estado seja idêntico ao de outro objeto; • Carlos (objeto); • Controle acadêmico(sistema que esta sendo construído); • Entrada(estado); • Matrícula 229844130 (propriedade do aluno) • Lista de semestres cursados(pode ser um objeto!!) • Semestre corrente(mesmo que semestre)
  • 25. Objeto • Um objeto de software mantém seu estado em uma ou mais de suas variáveis. Ele implementa seu comportamento através de seus métodos. • Método é o mesmo que função ou procedimento. • Por definição: Um objeto é um pedaço de software que possui variáveis (estado) e métodos (comportamento).
  • 26. Objeto • Um sistema pode conter um ou inúmeros objetos ativos. Cada objeto ativo no sistema em particular também é chamado de instância. As diferentes instâncias possuem seu próprio estado.
  • 27. Objeto • Cada instância de pessoa possui um estado diferente em particular. • Porém, cada instância, além do estado, também possui seus métodos (comportamento) que operam sobre o próprio estado. Em outras palavras, para pular, cada pessoa vai fazer uma determinada força dependendo da sua idade, altura e peso, por exemplo. • A ideia é que cada objeto seja responsável por seus dados (estado) e seja capaz de realizar as próprias operações que lhe foram atribuídas (comportamento).
  • 28. Mensagem • Um objeto por si só não significa muito em um sistema. Para ter algum sentido e valor esses objetos precisam interagir e comunicar-se entre si. • Os objetos se comunicam por meio de mensagens. Quando um objeto A quer se comunicar com um objeto B é enviada uma mensagem de A para B.
  • 29. Mensagem • Enviar uma mensagem significa executar um método. • Então, se A envia uma mensagem para B, podemos entender como o objeto A executando um método do objeto B. As mensagens são compostas por três partes: 1. Objeto a quem a mensagem é endereçada 2. Nome do método a ser chamado 3. Parâmetros que o método recebe
  • 30. Classe • No mundo real freqüentemente percebemos vários objetos de um mesmo tipo. Por exemplo: seu carro é um dos muitos carros existentes no mundo. • Usando a terminologia OO, dizemos que um carro em particular é uma instância da classe de objetos conhecida como carros. • Os carros, em geral, possuem estado (cor, potência do motor, combustível) e comportamento (ligar, acelerar, brecar, mudar marcha) em comum. • O estado de cada carro é independente e pode ser diferente do estado dos outros carros. Cada carro pode ter uma cor diferentes, por exemplo. • A partir dessas semelhanças, os fabricantes de veículos tiram vantagem disso para padronizar a construção de carros de um mesmo tipo, definindo um modelo único com características iguais para todos os carros a serem produzidos.