A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais

Apresentações semelhantes


Apresentação em tema: "1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais"— Transcrição da apresentação:

1 1

2 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais mmorais.fav@gmail.com

3 3 Aula 3 e 4 Herança

4 4 Conteúdo  Herança  Conceito  Super-Classes e Sub-Classes  Escopo protected  Construtores em Sub-Classes  Reusabilidade  Classe Object Livro-texto: Capítulo 9

5 5 Herança  Conceito Herança é uma característica do paradigma de Orientação a Objetos que permite que uma classe herde de uma outra classe suas características (atributos e métodos) e possa expandi-los ou adapta-los à sua necessidade. Em java, a herança é definida através da utilização da palavra extends, como no exemplo abaixo: public class Aluno extends Pessoa{ }

6 6 Herança  Super-classes e Sub-classes O conceito de herança introduz um novo par de termos: Super-classe e Sub-Classe. Super-classe, também conhecida como classe pai, é aquela da qual as características são herdados. Sub-classe, também conhecida como filha, é aquela que herda as características da classe pai. Assim, é entre a Super-classe e a Sub-classe que existe o relacionamento de herança.

7 7 Herança  Escopo protected Muito embora uma sub-classe herde todas as características do pai, mesmo as que são declaradas private. Porém, estas não podem ser acessadas diretamente pela classe filha. Para manter o encapsulamento e mesmo assim permitir que apenas as classes filhas possa manipular determinado atributo, utiliza-se a o escopo de visibilidade protected. Um atributo (ou método, embora seja menos comum) declarado protected é tão invisível à classes externas quanto um private, porém é plenamente visível e manipulável pelas classes filhas daquela que o declarou.

8 8 Herança  Construtores em Sub-classes Quando uma classe filha é instanciada, tal como qualquer outra classe, seu método construtor é executado. Porém, como herda atributos da classe pai, talvez seja necessário executar o construtor daquela classe. Para isso, utiliza-se a expressão: super(); que executa o construtor da classe pai à classe que está sendo instanciada. Caso o construtor da classe pai possua parâmetros, esses também podem ser passados nessa chamada: super(param1, param2);

9 9 Herança  Reusabilidade Já foi discutido em aulas anteriores que Linguagens Orientadas a Objeto favorecem a reutilização de código. A relação de Herança entre classes é apenas mais uma motivação ao reuso em aplicativos OO. Com a herança, podemos reutilizar não só componentes como conjuntos de componentes interligados por herança, e desempenhando juntos uma ou mais funcionalidades específicas. E, em termos de clareza de código e facilidade de manutenção, o uso de herança (quando cabível) é sempre mais desejável do que a duplicação de código.

10 10 Herança  A Classe Object Na linguagem Java, qualquer objeto que não expresse claramente ser sub-classe de uma classe qualquer, é filha da classe Object. A classe Object, apesar de genérica, possui uma série de métodos interessantes que são herdados por seus filhos. Os métodos são: clonenotify equals notifyAll finalize wait getClass toString hashCode

11 11 Herança  Exercícios  Crie uma família de classes relacionadas por herança que represente as seguintes entidades: aluno, alunoGraduacao, alunoPosGraduacao, alunoFormando, alunoNaoFormando, alunoMestrado, alunoDoutorado  Crie uma família de classes relacionadas por heranca que represente as seguintes entidades: animais, vertebrados, invertebrados, mamiferos, peixes, aracnideos, aves, cachorro, galinha, vaca, sardinha, aranha.  Altere a família de classes do exercício anterior para incluir as entidades: ser vivo, pato, cobra, baleia.

12 12 Herança  Exercício Avaliado: Crie uma familia de classes relacionadas por heranca que represente as seguintes entidades: veiculo, veiculoAereo, veiculoTerrestre, veiculoMarinho, carro, aviao, moto, barco, carroAnfibio, jetski, triciclo.  Exercícios para casa 1.Livro-texto - Exercícios do Cap.9


Carregar ppt "1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais"

Apresentações semelhantes


Anúncios Google