Conceitos de Orientação a Objetos

18
Conceitos de Orientação a Objetos Herança Exemplo de herança Usos de herança Derivação Pública X Privada Herança múltipla Agregação X Generalização

description

Conceitos de Orientação a Objetos. Herança Exemplo de herança Usos de herança Derivação Pública X Privada Herança múltipla Agregação X Generalização. Herança. Herança é um mecanismo para derivar novas classes a partir de classes existentes. - PowerPoint PPT Presentation

Transcript of Conceitos de Orientação a Objetos

Page 1: Conceitos de Orientação a Objetos

Conceitos de Orientação a Objetos

Herança

Exemplo de herança

Usos de herança

Derivação Pública X Privada

Herança múltipla

Agregação X Generalização

Page 2: Conceitos de Orientação a Objetos

Herança

Herança é um mecanismo para derivar novas classes a partir de classes existentes.

A classe derivada herda a representação de dados e operações de sua classe base.

Pode-se adicionar novas operações, estender a representação dos dados ou redefinir a implementação de operações existentes.

Page 3: Conceitos de Orientação a Objetos

Herança

Documento

autordataDeChegada

imprimir()editar()

Carta Telegrama

transporte

anexar()

hora

registrar()pagar()

Page 4: Conceitos de Orientação a Objetos

Herança

Classe Derivada ou Subclasse ou Classe Filha: é uma classe que herda parte dos seus atributos e métodos de outra classe.

Classe Base ou Superclasse ou Classe Pai: é uma classe a partir da qual classes novas podem ser derivadas.

Classes Ancestrais são aquelas das quais uma superclasse herda.

Classes Descendentes são aquelas que herdam de uma subclasse.

Page 5: Conceitos de Orientação a Objetos

Exemplo de herança

ContaBancária

ContaCorrente

ContaDePoupança

AplDeCurto Prazo

Page 6: Conceitos de Orientação a Objetos

Exemplo de herança

class ContaBancaria { private double saldo; // saldo corrente

public ContaBancaria (double sal){ saldo = sal; }

public void deposita(double valor){ saldo += valor; }

public double retornaSaldo() { return saldo; }};

Page 7: Conceitos de Orientação a Objetos

Exemplo de herança

class ContaDePoupanca extends ContaBancaria {

private double indice;

public double calcula(); public double retira(); };

Page 8: Conceitos de Orientação a Objetos

Exemplo de herança

class ContaCorrente extends ContaBancaria {

private double limite;

private double taxa; public double descontaCheque(double valor); };

Page 9: Conceitos de Orientação a Objetos

Exemplo de herança

class AplCurtoPrazo extends ContaDePoupanca {

private double fundoDisponivel;

public double retornaFundoDisponivel(){ return fundoDisponivel; } };

Page 10: Conceitos de Orientação a Objetos

Herança de implementação

Lista

Pilha

objetoLista

objetoPilha

Classes Objetos Mensagens

AdicionaInicio()

RemoveInicio()

AdicionaFim()

RemoveFim()

AdicionaInicio()

RemoveInicio()

AdicionaFim()

RemoveFim()

Empilha()

Desempilha()

AdicionaInicio()RemoveInicio()AdicionaFim()RemoveFim()

Empilha()

Desempilha()

usaAdicionaFim()

usaRemoveFim()

Page 11: Conceitos de Orientação a Objetos

Herança de comportamento

O mecanismo de herança é empregado para construção de hierarquias de tipos.

Uma hierarquia de tipos é composta de subtipos e supertipos.

Definição de Subtipo: Um tipo S é um subtipo de T se e somente se S

proporciona pelo menos o comportamento de T.

Um objeto do tipo T pode ser substituído por um objeto do tipo S.

Page 12: Conceitos de Orientação a Objetos

Herança de comportamento

Em Ada, uma variável do tipo SMALLINT herda todas as propriedades do tipo INTEGER.

A noção de tipo/subtipo assemelha-se à noção de conjunto/subconjunto.

Todos os objetos Baleia é um subconjunto dos objetos Mamífero.

Page 13: Conceitos de Orientação a Objetos

Herança de comportamento

gato

baleiahumano

mamifero

Mamifero

Humano Baleia Gato

Page 14: Conceitos de Orientação a Objetos

Derivação pública X privada

Em uma derivação pública, todos os atributos e operações publicos de uma classe tornam-se atributos e operações públicos de uma outra classe (subclasse).

Em uma derivação privada, todos os elementos públicos de uma classe tornam-se elementos privados de uma outra classe (subclasse).

Page 15: Conceitos de Orientação a Objetos

Herança múltipla

Mamífero AveEntidade voadora

Morcego Andorinha

Page 16: Conceitos de Orientação a Objetos

Agregação X Generalização

O relacionamento de generalização é muito conveniente para a construção e manutenção de classes relacionadas com a aplicação.

Quando a herança múltipla está envolvida a generalização pode ser confundida com a agregação.

Page 17: Conceitos de Orientação a Objetos

Agregação X Generalização

Herança múltipla permite que novos objetos sejam definidos pela fusão da estrutura e do comportamento de outros objetos diferentes.

Agregação permite que novos objetos sejam definidos pela composição da estrutura e do comportamento de outros objetos diferentes.

Page 18: Conceitos de Orientação a Objetos

Agregação X Generalização

carro

lataria roda banco motor