A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem Orientada a Objetos Conceitos Fundamentais.

Apresentações semelhantes


Apresentação em tema: "Modelagem Orientada a Objetos Conceitos Fundamentais."— Transcrição da apresentação:

1 Modelagem Orientada a Objetos Conceitos Fundamentais

2 Conteúdo n Objeto n Identidade n Encapsulamento n Classificação/Instanciação n Generalização/Especialização n Herança simples e múltipla n Polimorfismo n Sobrecarga de operações

3 Objeto n Um conceito, uma abstração, algo com limites e significados definidos para o problema em questão n Um objeto do mundo real n Um conjunto de atributos (estado) e métodos (comportamento) n Uma instância de uma classe

4 Identidade n Característica peculiar de um objeto que denota a existência em separado do objeto, mesmo que ele tenha os mesmos valores de atributos de outro objeto n Uma identificação única de cada objeto

5 Encapsulamento n Técnica de modelagem e implementação que separa os aspectos externos de um objeto dos detalhes internos de implementação do mesmo objeto n Os atributos (estado) de objeto só é modificável a partir de seus métodos (interface)

6 Atributo n Propriedade denominada de uma classe, que descreve o valor de um dado contido por cada objeto da classe n Todo atributo tem um tipo e, opcionalmente, um valor default inicial n Cada instância de uma classe possui todos os atributos definidos pela classe

7 Método (ou Operação) n Função ou transformação que pode ser aplicada aos objetos de uma classe n Todo método definido para uma classe pode ser aplicado a qualquer instância daquela classe n Um método tem um nome, uma lista de argumentos, um tipo de retorno e uma implementação

8 Classe n Descrição de um grupo de objetos com propriedades semelhantes, comportamento, relacionamentos e semântica comuns n Instância: um objeto descrito por uma classe

9 Generalização n Relacionamento entre uma classe e uma ou mais versões refinadas ou especializadas da classe n Especialização: relacionamento inverso n Superclasse: versão mais abstrata de outra classe, a subclasse n Subclasse: versão mais refinada de outra classe, a superclasse

10 Herança n Mecanismo baseado em objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento, geralmente generalização n Uma subclasse herda atributos e métodos da superclasse

11 Polimorfismo n Assume muitas formas n A propriedade segundo a qual uma operação (método) pode comportar-se diferentemente em classes diferentes n A subclasse redefine a implementação de um método herdado da superclasse n Onde se espera uma instância de um certa classe pode aparecer uma instância de qualquer subclasse daquela classe

12 Classes Abstratas e Concretas n Classe abstrata: classe que não pode ter instâncias diretas, mas cujos descendentes sim; organizam características comuns a diversas classes; mecanismo para reutilizar código; pode definir operações abstratas (sem um correspondente método) n Classe concreta: classe que pode ter instâncias diretas; não pode definir operações abstratas

13 Sobrecarga para extensão n A nova operação é igual à operação herdada, exceto pelo fato de acrescentar alguns detalhes de comportamento, normalmente afetando novos atributos da subclasse.

14 Sobrecarga para restrição n A nova operação restringe o protocolo (assinatura da operação), podendo reduzir os tipos de argumentos. n A operação herdada fica fechada (restrita) dentro de cada subclasse específica.

15 Sobrecarga para otimização n O novo método tem o mesmo protocolo externo e apresenta o mesmos resultados n A implementação do novo método (algoritmo utilizado) pode ser completamente diferente

16 Sobrecarga por conveniência n Emprego adhoc de herança para reutilizar classes. n Uma nova classe é tornada subclasse de uma classe existente e substitui os métodos inconvenientes. n Semanticamente errado e conduz a problemas de manutenção; recomenda- se criar uma terceira classe (superclasse das demais)

17 Herança Múltipla n Uma classe possui mais de uma subclasse e herda características de todos os seus ancestrais n Maior capacidade de especificação de classes n Maior oportunidade de reutilização n Perda em simplicidade conceitual e de implementação n Surgem classes de junção

18 Exemplos/Exercícios n Componentes de uma interface gráfica: botões, menus, barras,... n Pessoas: aluno, professor, secretária, reitor n Veículos: bicicleta, veleiro, carro, caminhão, avião, planador, motocicleta, cavalo n Habitações: tenda, caverna, barraco, garagem, celeiro, casa, arranha-céu


Carregar ppt "Modelagem Orientada a Objetos Conceitos Fundamentais."

Apresentações semelhantes


Anúncios Google