4 CONCEITOS BÁSICOS EM POO Dilvan Moreira
Lembrando: Gap Semântico
Lembrando: Gap Semântico Vantagem Quanto menor o gap, mais fácil é de entender e modificar um sistema. Modificações tendem a ser locais, afetando um ou poucos itens individuais, que são representados por código isolado em objetos. Por que é tão importante? Todo programa de computador representa objetos reais de um modo ou de outro.
Lembrando: Conceitos Chaves Abstração Encapsulamento (Encapsulation)
Lembrando: Abstração Abstracão: Processo pelo qual escondemos detalhes não essenciais provemos uma visão que é relevante
Lembrando: Encapsulamento Encapsulamento: processo pelo qual parte interna é inacessível para proteger e manter sua integridade operações são feitas pelos usuários através de uma interface bem definida. ou information hiding
Veremos a teoria e depois a sua aplicação em Java 4 Conceitos Básicos Objetos Classes Herança Polimorfismo Veremos a teoria e depois a sua aplicação em Java
Objetos Uma entidade capaz de salvar estado (informação)e que oferece um conjunto de operações (comportamentos) para examinar ou alterar esse estado. Modelo Orientado a Objetos Os componentes dos sistemas são representados por objetos. Esses objetos representam entidades reais: clientes, carros, usuários, etc.
Objetos Como um objeto é visto: Objeto Cobrança: Retorna nome cliente Efetua cobrança Adiciona impostos etc …
Objetos Estado (variáveis) Comportamento (métodos) Nome do cliente Cobre do cliente Valor Adicione impostos Impostos Mude endereço etc ...
Objetos: O que é Importante Encapsulamento Cria um pacote de software com métodos e variáveis relacionados. É um conceito vantajoso que traz dois benefícios básicos: Modularidade Information Hiding A única parte do objeto acessível ao mundo exterior devem ser suas operações.
Classes Classes Instâncias Uma classe é uma definição, template ou molde que permite a criação de novos objetos. Ela é a descrição das características comuns de vários objetos Instâncias Um objeto que pertence a uma classe é chamado de uma instância da classe
Classes Videogame Instâncias da classe Man Características são associadas a grupos de objetos A classe se torna uma abstração que descreve as características comuns dos seus objetos
Herança Quando duas classes tem muita informação em comum Essa informação pode ser compartilhada se ela for extraída e colocada numa outra classe Essas características comuns são coletadas numa classe específica e as classes originais herdam dessa classe
Herança Videogame Características comuns de Woman e Man são colocadas em Person Woman e Man herdam essas características de Person
Herança: Vantagens Características comuns entre classes podem ser reusadas promovendo o reuso de código. Redução de redundancia Classes descendentes apenas implementam as características extras que as diferenciam de seus pais Sistemas menores mais fáceis de entender Quando modificações são feitas na informação comum (pais) Elas são passadas automaticamente aos filhos Código que é fácil de modificar e evoluir
Perguntas?