Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCarmem Barata Quintão Alterado mais de 8 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.