• Nenhum resultado encontrado

Programação Orientada a Objetos

N/A
N/A
Protected

Academic year: 2021

Share "Programação Orientada a Objetos"

Copied!
18
0
0

Texto

(1)

Programação Orientada a Objetos

Herança e Polimorfismo

(2)

Projeto Orientado a Objetos

• O que desejam?

– Produção de projetos conceitualmente simples o bastantes para serem entendidos

– Poderosos o suficientes para resolver problemas pesados de forma eficaz

• Uma Solução:

– Orientação a Objetos

(3)

Projeto Orientado a Objetos

• Objetivos:

– Robustez

• Sistemas confiáveis, tolerante a falhas

– Adaptabilidade

• Capacidade de reagir conforme o contexto

– Reusabilidade

• Reutilização do software

(4)

Projeto Orientado a Objetos

• Princípios:

– Abstração

– Encapsulamento – Modularidade

(5)

Abstração

• Decompor um sistema complicado em suas partes fundamentais

• Descrevê-las em uma linguagem simples e precisa

– Atribuir-lhes um nome e descrever suas funcionalidades

• Abstrair os detalhes desnecessários

• Modelar conceitos, entidades, elementos,

problemas e características do mundo real levando em conta apenas os detalhes importantes

• Vantagem:

– Robustez

(6)

Encapsulamento

• Diferentes componentes de um sistema não devem revelar detalhes internos de suas

respectivas implementações

• Vantagens:

– Liberdade na implementação dos detalhes do sistema

– Permite a adaptação (modificar partes de um

programa sem afetar outros componentes do mesmo)

(7)

Modularidade

• Divisão dos componentes do software em unidades funcionais separadas

• Essas unidades se interagem entre si, fazendo com que o sistema funcione de forma adequada

• Vantagem

– Reutilização de Software

(8)

Modularidade

• Modelo Hierárquico

Pessoa

Jogador Juiz Funcionário

(9)

Modularidade

• Modelo Hierárquico

Veículo

Carro Moto Ônibus

(10)

Modularidade

• Tipos de Modelo Hierárquico:

– Herança

– Polimorfismo

(11)

Herança

• Situação – 2 Tipos de Funcionários

• Problema:

– Repetição de alguns atributos para todos os funcionários

• Como Resolver?

Desenvolvedor Gerente

Funcionário

Atributos:

•Nome

•CPF

•Salário

Atributos:

•Nome

•CPF

•Salário

Atributos:

•Nome

•CPF

•Salário

•Senha

Métodos:

•Autenticar

(12)

Herança

• Solução: Utilização de Herança

• Desenvolvedor e Gerente herdam os atributos e

Desenvolvedor Gerente

Funcionário

Herdam

Atributos:

•Nome

•CPF

•Salário

Atributo:

•Senha Método:

•autenticar()

(13)

Herança

• Estrutura Hierárquica e modular

• Projeção de classes genéricas que podem ser especializadas em classes mais particulares

• Classes especializadas reutilizam o código das mais genéricas

A B

A B A B

Classe Genérica

Classe

Especializada Classe

Especializada D C

E

(14)

Herança

• Classe genérica, classe base, superclasse ou pai:

– Define variáveis de instância “genéricas” e métodos

• Classe especializada, derivada, subclasse ou filha:

– Especializa, estende ou herda os métodos

“genéricos” de uma superclasse

– Define apenas os métodos que são especializados

(15)

Polimorfismo

• Situação:

Figura

Círculo Quadrado

Método: calcularArea()

Herdam

A forma de cálculo da área de Quadrado e Círculo é a mesma?

(16)

Polimorfismo

• Solução:

– Utilizar Polimorfismo para reescrita do método herdado na subclasse

– Significa “várias formas”

– Habilidade de um mesmo tipo de objeto poder realizar ações diferentes ao receber uma mesma mensagem

– Criação de múltiplas classes com os mesmos

(17)

Dúvidas

(18)

Referências

• RICARTE, I. L. M.; Programação Orientada a Objetos:

Uma Abordagem com Java. UNIVERSIDADE ESTADUAL DE CAMPINAS.

• MARTINS, F. M.; JAVA6 e Programação Orientada pelos Objectos. FCA - Editora de Informática, 2015.

• Os 4 pilares da Programação Orientada a Objetos.

Disponível em: http://www.devmedia.com.br/os-4- pilares-da-programacao-orientada-a-objetos/9264.

Acesso em 15/05/2016

• Programação orientada a objetos com Java. Disponível em:

Referências

Documentos relacionados

para o usuário digitar um nome; pega o valor digitado e altera na variável nome do objeto da Conta Bancária, através do método Alterar Nome.. Realiza saque/depósito, e depois

– Crie um construtor parametrizado inicializando todas as variáveis com os valores recebidos dos parâmetros. – Crie um construtor default (Inicializando as variáveis da

• É possível comprar acessando o método comprar, passando como parâmetro dois objetos, um do tipo Pessoa e outro do tipo Produto.. M.; Programação Orientada

– É o processo de esconder todos os detalhes de um objeto que não contribuem para suas características

– Pode ser acessado por qualquer outra classe em qualquer outro pacote.

• Projeção de classes genéricas que podem ser especializadas em classes mais particulares3. • Classes especializadas reutilizam o código das

– Método executado depende da classe do objeto – Mesma chamada executa métodos diferentes.. • obj.metodo() vai executar método que foi definido para classe do objeto

– Classe deve implementar TODOS os métodos definidos na interface.. Implementação