Analise orientado a objetos
Notas de Aula – Aula 01
O termo Orientação a Objetos tem sua origem em linguagens de programação orientadas a objetos (LPOOs) e seus conceitos se estenderam a outras áreas da computação, como Engenharia de Software, Bancos de Dados, Inteligência Artificial e sistemas computacionais em geral. A orientação a objetos agrega um grupo de conceitos que são base na modelagem e implementação:
Classes e Objetos
Herança e Polimorfismo Encapsulamento Trocas de mensagens Associações e Agregações
Pode-se definir um objeto como um elemento do mundo real que possui propriedades e comportamentos. Uma classe descreve um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamento e semântica: por sua vez, um objeto é uma instância de sua classe.
Representação em UML:
[pic]
Objetos não existem sozinhos, possuem relacionamentos com outros objetos. Os principais relacionamentos entre objetos são: generalização, associação, agregação e dependência.
Generalização (ou generalização-especificação): é um relacionamento entre itens gerais (de superclasses ou classes-mães) e tipos mais específicos desses itens (subclasses ou classes-filhas). Um objeto da subclasse é um objeto de sua superclasse.
Exemplo: [pic]
Relacionamentos de generalização-especificação definem uma hierarquia de classes e estabelecem, para toda subclasse da hierarquia, a propriedade de herança: a subclasse herda de sua superclasse suas propriedades, operações e relacionamentos.
Relacionamentos de generalização também permitem que se defina operações polimórficas ou polimorfismo (poli=muitas, morphos=formas): é um recurso implementável em linguagens OO que permite a definição de uma operação em uma superclasse e essa mesma operação é redefinida – com outro comportamento – em suas subclasses.
Exemplo:
[pic]
Herança múltipla: ocorre quando uma subclasse é herdeira de duas ou mais superclasses. Exemplo:
[pic]