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).
Exemplo
Crculo
Crculo
R
Abstrao
(x, y)
Classe
Mover(x, y) Aumentar(R)
Atributos Operaes
08/05/2002
Exemplo (cont.)
Dados privados Crculo Raio: Real x : Real y : Real
Mover(x, y)
Raio: Real x : Real y : Real Aumentar(R)
Mover(x, y) Aumentar(R)
Exemplo (cont.)
Definio para dados privados Crculo Raio: Real x : Real y : Real Em C++ fica
Mover(x, y) Aumentar(R)
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
Retirar
Elemento
Colocar
Elemento
Elemento
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!
delete variavel_ponteiro;
08/05/2002
18
08/05/2002
19
08/05/2002
20
2 3 3
1 2 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