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

Slides:



Advertisements
Apresentações semelhantes
|Introdução a Java para programadores Telis. Jogo de Dados simples O jogo é jogado por dois jogadores. Cada jogador faz sua jogada (lança um dado), e.
Advertisements

JAVA Orientação a Objetos
Herança, Polimorfismo e Classes Abstratas em Java
H ERANÇA E P OLIMORFISMO Prof. Thiago Pereira Rique
Orientação a Objetos: Modificador Final para Métodos e Classes
1 Orientação a Objetos: Herança Alcides Calsavara.
Herança, sobrecarga e ligação dinâmica zHerança zReferência super zSobrecarga de métodos zSobreposição zLigação dinâmica de métodos zfinal.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Classes Abstratas Profa
Herança Profa. Isabel Harb Manssour (Material adaptado das aulas dos Profs: Luciana Nedel e Júlio Machado) Packages (bibliotecas de classes) Atributos.
Linguagem de Programação II
Wagner Santos C. de Jesus
Capítulo 9 Herança 1.
Herança e Polimorfismo
Revisão POO Profa. Cintia Carvalho Oliveira
Curso de extensão em Desenvolvimento Web
Se liga aí, que é hora da revisão!
Concorrência em Java Threads em Java.
Tipos Agregados Homogêneos e Listas
Programação Orientada a Objetos com Java
Interfaces.
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Professora Lucélia Oliveira
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
POO - I Prof.: Jean Carlo Mendes
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Acoplamento e Coesão Modelagem e Programação Orientada a Objetos
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação I Aula 6 (Herança, Polimorfismo e Encapsulamento)
Programação Orientada a Objetos - Java
Tratamento de Exceções
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Curso de Aprendizado Industrial Desenvolvedor WEB
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Introdução às Java Threads
Orientação a Objetos usando Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Classes Abstratas e Interface
Herança e Arquitetura em camadas
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Bruno Inojosa MCP .NET Framework
Atributos e Métodos Estáticos
Herança.
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Laboratório de Programação II Método main Dados e Métodos de Classes.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Diagrama de Classes Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Transcrição da apresentação:

Herança Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes cristiano.nunes@metrocamp.edu.br

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; }

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.

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; }

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.

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; }

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.

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(); }

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(); }