• 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

Msc. Paulo de Tarso F. Júnior 1

(2)

• 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

Revisando - Herança

(3)

• 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

3

Revisando - Herança

(4)

• 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 métodos e propriedades, mas com

funcionalidades e implementações diferentes

• Reescrita de código

Revisando – Polimorfismo

(5)

• Representação

5

Revisando – Polimorfismo

(6)

• Reuso de uma classe

– Tudo que foi definido para uma classe vai ser aproveitado em outra classe

• Representa especialização

– Um tipo mais genérico cujas características serão herdadas por outra classe

– Comportamento pode ser herdado ou modificado

• Classe A e classe B

– B herda de A – B é subtipo de A – B é subclasse A

• Todos os atributos e métodos definidos em A também existem em B

Revisando – Conceitos

(7)

7

Herança

(8)

Herança

(9)

9

Herança - Implementação

(10)

Herança - Implementação

(11)

11

Subtipos

• Uma classe que herda de outra é um subtipo

– Herança representa relacionamento “é um”

• Carro “é um” veículo

• Livro “é uma” publicação

• Cachorro “é um” mamífero

• Podemos ter uma variável do tipo ClasseA que

referencia um objeto do tipo ClasseB

(12)

Classe Object

• Classe base em JAVA

– Tudo herda de Object – Define alguns métodos:

• public String toString()

• public boolean equals()

• entre outros...

(13)

13

Teste de Igualdade

• Operador instanceof

– Determina se um objeto obj é de uma classe Cla

• retorna valor lógico (booleano)

• sintaxe: obj instanceof Cla

(14)

Construtores

• O código abaixo pode não compilar

• Se ClasseA não possuir construtor sem argumentos

(15)

15

Exercício em Sala

• Implementar as classes do seguinte diagrama:

(16)

Exercício em Sala

• Todas as classes devem ter construtor parametrizado, acessando os construtores da classe pai

• Criem uma classe de teste

(17)

Dúvidas

17 Prof. Paulo de Tarso F. Júnior

(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:

http://www.devmedia.com.br/programacao-orientada-a-

objetos-com-java-easy-java-magazine-1/18449. Acesso em

18/05/2016

Referências

Documentos relacionados

[r]

Ao final do curso o aluno será capaz de: (i) analisar problemas computacionais e propor soluções utilizando conceitos de programação orientada a objetos, como classes, objetos,

A abertura de vagas de estágios nas empresas do setor eletro-eletrônico, instaladas na Zona Franca de Manaus-AM, que passaram a responder pela maior parte dos estágios na área

Apesar de a Educação Ambiental ter se expandido, ela ainda é pouco abrangente e se caracteriza por ações pontuais e incipientes como prática a ser potencializada

Se dispuser de uma peça de mão X-Smart IQ ® , você pode operar o localizador apical Propex IQ ® no modo combinado para o monitoramento simultâneo da progressão da lima

No campo SeriePrestação deve ser informado por padrão o valor ‘99’ - Modelo único, porém quan- do liberado pela prefeitura o contribuinte pode utilizar este campo para indicar

• Uma declara¸ c˜ ao de classe pode conter membros privados ( private ), protegidos ( protected ) e p´ ublicos ( public ). • private : membros declarados como privados somente s˜

Neste contexto, está à agricultura orgânica, que é um sistema de produção alternativo seguro e sustentável, baseado na interação dinâmica entre o solo, as plantas,