Análise e Projeto Orientado a Objetos Conceitos Básicos da Orientação a Objetos (O.O.) Conceitos Básicos da Orientação a Objetos Objeto: “tudo que é perceptivel por qualquer dos sentidos; coisa, peça, artigo de compra e venda, matéria, assunto; o que é conhecido, pensado ou representado, em oposição ao ato de conhecer, pensar ou representa” (dicionário) Portanto , objetos são coisas do mundo real, como pessoas, animais, etc., que descobrimos estudando suas características (atributos), como altura, tamanho, cor e seu comportamento (ações), como falar, dormir, andar. Abstração Construção de um modelo para representação de uma realidade Concentração complexidade nas características essenciais,gerenciando Orientação O.O. Assim o desenvolvimento orientado a objetos modela objetos do mundo real, estudando-os e criando classes a partir de suas características, como nome, cor, tamanho, etc. A tarefa do analista, portanto, é estudar e observar a realidade e, usando o processo intelectual de abstração, representar esses objetos em um modelo dentro de um contexto denominado domínio da aplicação. Classe Na Orientação a Objetos, o mecanismo principal de abstração é a Classe Classe – Uma Classe descreve um conjunto de Objetos que compartilham características (atributos e operações) comuns – A Classe corresponde à noção de módulo em um sistema orientado a objetos Modularidade é importante pois torna o projeto de um sistema mais simples e reutilizável Classe “encapsula” dados e operações Classe - Atributos Atributos são recursos de uma classe ou qualquer outro elemento que representa propriedade ou elementos de dados. Em algumas linguagens, os atributos são denominados variável de instância de classe ou membro de dado. Classe - Operações Operações no mundo real é apenas a abstração de um comportamento semelhante entre diferentes objetos. Depois de modelados os objetos, as operações são recursos de uma classe que representam comportamentos ou serviços que ela suporta. Encapsulamento Encapsulamento Encapsulamento de dados e operações – “Muralha” em volta do objeto – Objetos respondem mensagens de outros objetos – Alteração no estado interno do objeto só através dos métodos Encapsulamento de dados e operações Encapsulamento de dados e operações – Ocultamento da Informação O acesso aos dados internos de objetos só pode ocorrer a partir de mensagens – Independência de aplicação Um método deve acessar informações internas do objeto Herança Comparando e modelando objetos do mundo real, determina-se que vários deles apresentam as mesmas características. Entretanto, aprofundando um pouco mais a observação, descobrimos que alguns objetos possuem características próprias além daquelas comuns aos dos outros objetos. Assim, através do recurso de herança, podemos ter classes gerais (superclasse) e classes mais específicas (subclasses). Este recurso faz com que subclasses possam herdar atributos e comportamento de sua classe imediatamente superior – a superclasse, e também possui atributos e operações específicas. Herança Objeto Modelo de um objeto real entidade física, conceitual ou de software Possui comportamento, estado e identidade Exemplo de objetos: conta e poupança Operação Modela comportamento das classes Serviços que os objetos oferecem a outros objetos Exercícios Proponha uma classe. Descreva essa classe. Atributos, Operações. Objetos que poderiam pertencer a essa classe (pelo menos dois) Como você explicaria o conceito de encapsulamento para o seu objeto? Como você explicaria o conceito de herança nesse exemplo?