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

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

Modelagem Orientada a Objetos

Apresentações semelhantes


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

1 Modelagem Orientada a Objetos
Conceitos Fundamentais

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

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

4 Identidade 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 Uma identificação única de cada objeto

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

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

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

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

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

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

11 Polimorfismo Assume muitas formas
A propriedade segundo a qual uma operação (método) pode comportar-se diferentemente em classes diferentes A subclasse redefine a implementação de um método herdado da superclasse 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
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) Classe concreta: classe que pode ter instâncias diretas; não pode definir operações abstratas

13 Sobrecarga para extensão
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
A nova operação restringe o protocolo (assinatura da operação), podendo reduzir os tipos de argumentos. A operação herdada fica fechada (restrita) dentro de cada subclasse específica.

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

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

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

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


Carregar ppt "Modelagem Orientada a Objetos"

Apresentações semelhantes


Anúncios Google