Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceitos
- O que so Objetos?
Tudo que se oferece aos nossos sentidos ou nossa alma. 2. Coisa material: Havia na estante vrios objetos. 3. Tudo que constitui a matria de cincias ou artes. 4. Assunto, matria. 5. Fim a que se mira ou que se tem em vista-.
- Objeto:
*-1.
08/05/2002
Conceitos (cont.)
- Exemplos:
08/05/2002
Conceitos (cont.)
- Exemplos:
Automvel
08/05/2002
Conceitos (cont.)
- Objetos possuem 4 caractersticas:
- Identidade: 2 objetos so distintos mesmo que todos os valores de seus atributos sejam iguais. - Classificao: Objetos com a mesma estrutura de dados (atributos) e mesmo comportamento (operaes) so agrupados em uma classe. - Polimorfismo: A mesma operao pode atuar de modos diversos em classes diferentes. - Herana: Compartilhamento de atributos e operaes entre classes com base em um relacionamento hierrquico.
08/05/2002 5
Conceitos (cont.)
- * A abordagem baseada em objetos preocupa-se primeiro em identificar os objetos contidos no domnio da aplicao e depois em estabelecer os procedimentos relativos a eles. Embora isso possa parecer mais indireto, o software baseado em objetos mantm-se melhor medida que os requisitos evoluem, por se apoiar na prpria estrutura fundamental do domnio da aplicao, ao invs de apoiar-se nos requisitos funcionais ad hoc de um nico problema.
* Rumbaugh [94]
08/05/2002
Conceitos (cont.)
- 6 Caractersticas da Tecnologia Baseada em objetos:
- Abstrao: Concentrao nos aspectos essenciais, prprios, de uma entidade e em ignorar suas propriedades acidentais. - Encapsulamento: Separao dos aspectos externos de um objeto, acessveis por outros, dos detalhes internos da implementao que ficam ocultos dos demais. - Combinao de Dados e Comportamento: Polimorfismo dos objetos. - Compartilhamento: Compartilhar a estrutura comum (classes) por diversas subclasses sem redundncias (Herana). - nfase na Estrutura de Objetos: Especificar o objeto e no como ele utilizado. - Sinergia: Seguir todas as caractersticas simultaneamente.
08/05/2002 7
Exemplo
Crculo
Crculo
R
Abstrao
(x, y)
Classe
Atributos Operaes
08/05/2002
Exemplo (cont.)
Dados privados Crculo Raio: Real x : Real y : Real Mover((x, (y) Aumentar((R) Aumentar((R) Mover((x, (y) Raio: Real x : Real y : Real
Exemplo (cont.)
Definio para dados privados Crculo Raio: Real x : Real y : Real Mover((x, (y) Aumentar((R) Em C++ fica
08/05/2002
10
08/05/2002
11
::
08/05/2002
12
Construtor e Destrutor
- Construtor: Como o encapsulamento de dados comum, o C++ permite aos objetos serem inicializados (iniciados) por si mesmo quando criados. Por exemplo, alocao dinmica de memria.
- Destrutor: Em diversos casos necessrio realizar alguma(s) ao(es) para o objeto poder ser destrudo. Por exemplo, desalocao dinmica de memria.
08/05/2002
13
Exemplo Construtor/Destrutor
Declarao do Construtor
Declarao do destrutor
Ao do Construtor
08/05/2002
14
-cin: usado para ler uma entrada do teclado. Similar ao scanf Ex: scanf(%d, &a) cin >> a;
08/05/2002
15
Exemplo: Pilha
Colocar Colocar Colocar Colocar Elemento Elemento Elemento Elemento Retirar Elemento Colocar Elemento
08/05/2002
16
Sobrecarga de funes
- Polimorfismo entre ou na classe. - Um mesmo nome de operao (funo) pode realizar diferentes aes! Sobrecarga do Construtor
O mesmo nome de funo, mas executam aes diferentes!
08/05/2002
18
08/05/2002
19
08/05/2002
20
2 1 3 2 3 2 1
Colocar elemento
08/05/2002
21
Herana
- Classe Carro e Subclasse Ferrari
Carro P_Motor: Real N_Portas : Inteiro Preco : Real Set_P_Motor(Real : Val_P_Motor ) Get_P_Motor( ) Set_N_Portas(Int : Val_ N_Portas) Get_ N_Portas ( ) Set_Preco(Real: Preco) Get_Preco( )
08/05/2002 22