Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceitos OO
Roteiro
Introduo Classe e objeto Mensagem Encapsulamento Herana Polimorfismo
Conceitos OO
Introduo
Programao Procedural
Paradigma de Programao Procedural
Trabalha basicamente com dados e funes. Apresenta problemas com o aumento da complexidade:
Dificuldade de manuteno Pouqussimo reaproveitamento de cdigo Nmero excessivo de funes
Conceitos OO
Introduo
Conceitos OO
Classe e Objeto
Classe
Define variveis e mtodos de objetos do mesmo tipo.
Variveis ou atributos: so os dados Mtodos: so as funes
Uma classe define as caractersticas de uma entidade no mundo real, de um objeto como entendemos. Reconhecimento de similaridades entre certos objetos, situaes, processos do mundo real.
Conceitos OO
Classe e Objeto
Classe
Identificao dos atributos e mtodos depende do ponto de vista
Nome Cor Aparncia - Correr - Brincar Raa Peso Tamanho - Criar - Vender
Conceitos OO
Classe e Objeto
Classe
Exemplos de Classe:
Conceitos OO
Classe e Objeto
Objeto
Um objeto a instncia de uma classe
Exemplo: ContaCorrente
Conceitos OO
Classe e Objeto
Objeto
No mundo OO programas so compostos de objetos que colaboram entre si para atender aos requisitos necessrios. Um objeto pode ser composto de outros objetos.
Faris
Motor Rodas
Conceitos OO
Classe e Objeto
10
Objeto
Um objeto pode pedir a colaborao de outro objeto enviando uma mensagem. Vantagens
Maior modularizao do cdigo Auto grau de reusabilidade do cdigo Facilidade em rastrear defeitos e efetuar manuteno
Conceitos OO
Mensagem
11
Mensagem
Mensagem significa invocar um mtodo de outro objeto. A troca de mensagens forma como os objetos interagem. Possui trs componentes:
Objeto ao qual a mensagem endereada Nome do mtodo a ser executado Parmetros requeridos pelo mtodo
Conceitos OO
Mensagem
12
Exemplo de Mensagem
Funcionrio Nome Nasc Salrio InformarSalrio CalcularIdade Funcionrio_Helena Nome=Helena Reis Nasc=28/01/1965 Salrio = 4.000 InformarSalrio CalcularIdade
? ERRO!
Calcular Desconto?
Conceitos OO
Encapsulamento
13
Encapsulamento
Esconde o estado interno do objeto Interao ocorre por mensagens. Os atributos de um objeto so manipulados apenas pelos mtodos do prprio objeto. Significa que outro objeto no pode manipular atributo de outro objeto. Vantagens:
Legibilidade Manutenibilidade Reuso
Conceitos OO
Encapsulamento
14
Exemplo de Encapsulamento
Sem encapsulamento
Funcionrio Nome Nasc CPF validarCPF(cpf) alteraCPF(cpf) Funcionrio_Helena Nome=Helena Reis Nasc=28/01/1965 CPF=000.000.001-91 validarCPF(cpf) alteraCPF(cpf)
Feito!
Faa CPF = 01
no vlido
ERRO!
Conceitos OO
Herana
15
Herana - Definio
Estabelecem relacionamentos de generalizao-especializao (-um) entre classes. Tipos de classe:
Superclasse: qualquer ancestral de uma classe Subclasse: classe que deriva de outras classes.
Conceitos OO
Herana
16
Herana - Definio
Subclasses podem:
Adicionar novos atributos e mtodos Sobrescrever mtodos (diferente de sobrecarga).
Herana mltipla
Classe possui mais de uma superclasse direta No suportado pelo Java.
Interface
Coleo de Mtodos e definio de constantes Quando uma classe implementa uma interface, todos os mtodos declarados na interface devem ser declarados. Uma classe pode implementar diversas interfaces
Conceitos OO
Herana
17
Herana Exemplo 1
Funcionrio Funcionrio_Helena Nome=Helena Reis Nasc=28/01/1965 Salrio = 4.000 InformarSalrio CalcularIdade
Gerente_Mrio Nome=Mrio S Nasc=16/02/1970 Salrio = 3.000 Projeto = SAP InformarSalrio CalcularIdade InformarProjeto
Conceitos OO
Herana
18
Herana Exemplo 2
Supor que Circulo e Retngulo sejam subclasses de Forma
Crculo Coordenada X Coordenada Y Raio Calcularrea CrculoXpto Coordenada X = 10 Coordenada Y = 15 Raio = 2 Calcularrea
CalcularArea()
12,68
CalcularArea() 6
CalcularArea() { rea = Largura * Altura; retorna rea; }
Conceitos OO
Herana
19
Conceitos OO
Polimorfismo
20
Polimorfismo
Permite tratar objetos de classes derivadas (subclasses) como objetos de classes ascendentes (superclasses). Habilidade de objetos de:
Pertencer a diferentes tipos Responder chamadas de mtodos como o mesmo nome, cada um com uma implementao especfica ao tipo.
Conceitos OO
Polimorfismo
21
Exemplo de Polimorfismo
Forma
A Interfce Forma vai ser instanciada como um objeto de Crculo ou Retngulo Apenas durante a execuo ser definido se Forma ser um Crculo ou Retngulo. Exemplo: calculaQtdeLataTinta(Forma f, int tamLata) {
CalcularArea