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

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

Herança Modelagem e Programação Orientada a Objetos

Apresentações semelhantes


Apresentação em tema: "Herança Modelagem e Programação Orientada a Objetos"— Transcrição da apresentação:

1 Herança Modelagem e Programação Orientada a Objetos
Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes

2 Herança Muitas vezes, classes diferentes tem características comuns, então, ao invés de criarmos uma nova classe com todas essas características usamos as características de uma classe já existente; Para implementar tal procedimento mencionado acima, usamos o conceito de herança. public class Funcionario { private String nome; private String endereco; private String matricula; } public class Cliente { private String nome; private String endereco; private String cod_cli; }

3 Herança Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma classe base (ou superclasse); //classe fatorada (classe base) public class Pessoa { private String nome; private String endereco; } A partir de uma classe base, outras classes podem ser especificadas; Cada classe derivada (ou subclasse) apresenta as características (estrutura e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela.

4 Herança Basicamente significa dizer que uma classe herda os atributos e métodos de uma classe “mãe”, ou seja, a super classe; Para se implementar o conceito de herança em Java, usa-se a palavra reservada extends Exemplo: public class Funcionario extends Pessoa { private String matricula; }

5 Herança em Cadeia Java permite que uma classe herde apenas as características de uma única classe, ou seja, não pode haver heranças múltiplas; Porém, é permitido heranças em cadeias, por exemplo: se a classe Mamifero herda a classe Animal, quando fizermos a classe Cachorro herdar a classe Mamifero, a classe Cachorro também herdará as características da classe Animal.

6 Método Construtor em Herança
Toda classe tem seu método construtor. Portanto, em uma relacionamento de herança existem no mínimo duas classes envolvidas, temos então dois métodos construtores; Para acessarmos o método construtor da classe que está sendo herdada usamos o super() public class Pessoa { private String nome; private String endereco; public Pessoa(String nm) { nome = nm; } public class Funcionario extends Pessoa { private String matricula; public Funcionario(String n, String m) { super(n); matricula = m; }

7 Método Construtor em Herança
Podemos usar o super() para qualquer construtor da super classe, pois o Java consegue diferenciar os construtores por causa da sobrecarga de métodos; Se o construtor da super classe não contiver argumentos então não há a necessidade de se usar a palavra reservada super() pois o Java implicitamente invoca o construtor da super classe dentro do construtor da subclasse.

8 Sobrescrição de Métodos
Ao invés de uma subclasse simplesmente herdar um método da super classe, pode-se ainda redefinir o mesmo método da super classe dentro da subclasse, a isso dá-se o nome de Sobrescrição de Método (Overriding); public class Superclasse { public void imprime() { System.out.println( "Esse é o método imprime da Superclasse"); } public class Subclasse extends Superclasse { public void imprime() { System.out.println( "Esse é o método imprime da Subclasse"); } public class SobrescricaoDeMetodos { public static void main(String[] args) { Superclasse superC = new Superclasse(); Subclasse subC = new Subclasse(); superC.imprime(); subC.imprime(); }

9 Sobrescrição de Métodos
Se houver a necessidade de invocar a versão original do método da super classe dentro da subclasse, então utiliza-se a palavra reservada super. public class Superclasse { public void imprime() { System.out.println( "Esse é o método imprime da Superclasse"); } public class Subclasse extends Superclasse { public void imprime() { super.imprime(); System.out.println( "Esse é o método imprime da Subclasse"); } public class SobrescricaoDeMetodos { public static void main(String[] args) { Superclasse superC = new Superclasse(); Subclasse subC = new Subclasse(); superC.imprime(); subC.imprime(); }


Carregar ppt "Herança Modelagem e Programação Orientada a Objetos"

Apresentações semelhantes


Anúncios Google