Professional Documents
Culture Documents
Orientada Objetos
Maio de 2002
Conceitos
- O que so Objetos?
- Objeto: *-1.
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-.
08/05/2002 2
Conceitos (cont.)
- Exemplos:
08/05/2002 3
Conceitos (cont.)
- Exemplos:
Automvel
08/05/2002 4
Conceitos (cont.)
- Objetos possuem 4 caractersticas:
* Rumbaugh [94]
08/05/2002 6
Conceitos (cont.)
- 6 Caractersticas da Tecnologia Baseada em objetos:
- Abstrao: Concentrao nos aspectos essenciais, prprios, de uma entidade e em
ignorar suas propriedades acidentais.
08/05/2002 7
Exemplo
Crculo
Crculo
Raio: Real
R
Abstrao x : Real Classe
(x, y) y : Real
Mover(x, y)
Aumentar(R)
Atributos
Operaes
08/05/2002 8
Exemplo (cont.)
Dados privados
Mover(x, y)
Crculo
Raio: Real
x : Real Raio: Real
x : Real Funes membro
y : Real
y : Real pblicas
Mover(x, y)
Aumentar(R)
Aumentar(R)
08/05/2002 9
Exemplo (cont.)
Definio para dados privados
Crculo
Raio: Real
x : Real Em C++ fica Definio para dados pblicos
y : Real
Mover(x, y)
Aumentar(R)
08/05/2002 10
Forma Geral de class
class nome-da-classe {
private:
dados e funes privadas
public:
dados e funes pblicas
};
08/05/2002 11
Cdigo Completo da classe Circulo
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.
08/05/2002 13
Exemplo Construtor/Destrutor
Declarao do
Construtor
Declarao do
destrutor
Construtor e Destrutor no
so chamados explicitamente
Ao do na funo principal!
Construtor
08/05/2002 14
Operaes de Entrada e Sada
- cout: usado para escrever em tela. Similar ao printf
Ex: printf(Teste); cout << Teste;
printf(n = %d, n); cout << n = << n;
08/05/2002 15
Exemplo: Pilha
Colocar Colocar
Retirar
Colocar Elemento Elemento
Elemento
Colocar Elemento
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 17
Alocao Dinmica de Memria
- new: Aloca memria suficiente para guardar o valor desejado.
- delete: Desaloca memria reservada por new.
Formato: variavel_ponteiro = new var_tipo;
delete variavel_ponteiro;
08/05/2002 18
Alocao Dinmica de Memria
- Para vetores e matrizes:
08/05/2002 19
Exemplo Pilha: Completo
08/05/2002 20
Exemplo Fila: Completo
- Situao: Criar uma fila com capacidade n (n informado pelo
usurio).
1 Colocar elemento
3 2 1 Colocar elemento
3 2 Retirar elemento
08/05/2002 21
Herana
- Classe Carro e Subclasse Ferrari
Set_Preco(Real: Preco)
Get_Preco( )
08/05/2002 22