Iniciação ao Java – Márcio F. Campos

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Herança, Polimorfismo e Classes Abstratas em Java
Java: Pacotes e Modificadores de Visibilidade
Orientação a Objetos: Modificador Final para Métodos e Classes
Java: Pacotes e Modificadores de Visibilidade
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
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Polimorfismo e Acoplamento Dinâmico
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Wagner Santos C. de Jesus
Membros estáticos.
JAVA ENUMS © 2009 by Jorge L. de Souza Leão março de 2009 PEE - COPPE/UFRJ.
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Estrutura de Dados em Java
CRIANDO OBJETOS EM JAVA
Concorrência em Java Threads em Java.
Programação Orientada a Objetos com Java
Interfaces.
Linguagem de Programação II
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Professora Lucélia Oliveira
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
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.
Programação orientada a objectos em C++
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
Wagner Santos C. de Jesus
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação Orientada a Objetos - Java
Implementação Orientada a Objetos – Aula 03
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação Orientada à Objetos
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
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.
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Classes Abstratas e Interface
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Herança e Polimorfismos
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Herança e Arquitetura em camadas
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Herança Modelagem e Programação Orientada a Objetos
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Bruno Inojosa MCP .NET Framework
Atributos e Métodos Estáticos
Modificadores Programação II.
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.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
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
1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Transcrição da apresentação:

Iniciação ao Java – Márcio F. Campos Herança Iniciação ao Java – Márcio F. Campos

Iniciação ao Java – Márcio F. Campos Conceitos iniciais Herança é uma outra forma de reutilizar código. Diferentemente da delegação, que possibilita a criação de grandes objetos a partir de outros menores, a herança permite a criação de objetos que são parecidos, em comportamento, com outros objetos ancestrais. Iniciação ao Java – Márcio F. Campos

Iniciação ao Java – Márcio F. Campos Conceitos iniciais O que é herança? Na herança uma classe é definida em termos de outras classes . Por exemplo, carros e motocicleta podem ser definidos em termos da classe veículos de locomoção. Neste caso carro e motocicletas são subclasses da classe veículos de locomoção. Iniciação ao Java – Márcio F. Campos

Iniciação ao Java – Márcio F. Campos Implicações As subclasses possuem, por definição, comportamentos e estados semelhantes aos da superclasse. De maneira geral, pode-se dizer que as subclasses herdam tanto as variáveis quanto os métodos da superclasse. Java Tutorial:  uma subclasse é uma classe que estende outra classe sendo que esta subclasse herda os estados(atributos) e comportamento (métodos) de todos as classes ancestrais; o termo superclasse se refere a classe imediatamente ancestral assim como todas as outras classes ancestrais. Iniciação ao Java – Márcio F. Campos

Iniciação ao Java – Márcio F. Campos Entretanto... A subclasse não está limitada as variáveis e aos métodos da superclasse. Para caracterizá-la melhor novas variáveis ou métodos podem ser adicionadas à subclasse, assim como, podem ser redefinidos(sobrescritos). Iniciação ao Java – Márcio F. Campos

Como regra geral temos: As subclasses herdam variáveis e métodos cuja visibilidade seja pública ou protegida. As subclasses herdam da superclasse as variáveis e os métodos sem especificação de visibilidade desde que a classe esteja no mesmo pacote. As subclasses NÂO herdam membros da superclasse se a subclasse declarar uma variável ou método de mesmo nome. No caso de variáveis, as variáveis definidas na subclasse ocultam aquelas definidas nas superclasses; no caso dos métodos, os métodos definidos na subclasse redefinem aqueles definidos nas superclasses. Iniciação ao Java – Márcio F. Campos

Iniciação ao Java – Márcio F. Campos Em Java. Java implementa o conceito de herança através da palavra Extends . No nosso exercício do aluno vamos aproveitar a classe Aluno definida em 4.1 e estendê-la através de herança para a classe AlunodeIntercâmbio. Iniciação ao Java – Márcio F. Campos

Classe AlunodeIntercambio public class AlunodeIntercambio extends Aluno{ // variáveis do objeto public String faculdade_origem; // métodos do objeto public AlunodeIntercambio (String nome, String familia, int idade, char sexo, String faculdade_origem){ super (nome, familia, idade, sexo, faculdade_origem); this.faculdade_origem = faculdade_origem; } Código 6.1 - Classe AlunodeIntercambio.   Observe que a palavra super refere-se ao construtor da classe ancestral. Iniciação ao Java – Márcio F. Campos

Executando a herança Código 6.2 - Classe ExemploHerança. public class ExemploHerança { public static void main (String args[]) { Aluno umAluno = new Aluno(); Aluno umAlunodeIntercambio = new AlunodeIntercambio(“Jose”, “Alves”, 35, ‘m’, “UniverSidade”); } Código 6.2 - Classe ExemploHerança. Iniciação ao Java – Márcio F. Campos

O método MostraAluno da subclasse public void mostraAluno ( ) { super.mostraAluno(); System.out.println (“Origem” + this.faculdade_origem } Código 6.3 – Método mostraAluno da classe AlunodeIntercambio. Iniciação ao Java – Márcio F. Campos

A classe AlunodeIntercambio ficaria... public class AlunodeIntercambio extends Aluno{ // variáveis do objeto public String faculdade_origem; // métodos do objeto public AlunodeIntercambio (String nome, String familia, int idade, char sexo, String faculdade_origem){ super (nome, familia, idade, sexo, faculdade_origem); this.faculdade_origem = faculdade_origem; } public void mostraAluno ( ) { super.mostraAluno(); System.out.println (“Origem”+this.faculdade_origem) }   Código 6.4 – a classe AlunodeIntercambio completa. Iniciação ao Java – Márcio F. Campos

Executando o método MostraAluno public class ExemploPolimorfismo { public static void main (String args[]) { Aluno umAluno; AlunodeIntercambio umAlunodeIntercambio = New AlunodeIntercambio (“José”, “Jack”, 25,‘m’, “Minesota”); umAluno = umAlunodeIntercambio; umAluno.mostraAluno(); } Código 6.4 – a classe ExemploPolimorfismo Iniciação ao Java – Márcio F. Campos

O que é o método MostraAluno? É um método polimórfico. Ao executar o código 6.4 verificar-se-á que apesar de umAluno ser um objeto da classe Aluno o método mostrarAluno( ) mostrará corretamente o aluno de intercâmbio. Iniciação ao Java – Márcio F. Campos

E quanto a visibilidade na herança? Vimos, anteriormente, dois tipos de visibilidade public e private. No caso da classe AlunodeIntercambio, se esta quisesse acessar as variáveis de Aluno ocorreria um erro de compilação pois as variáveis possuem visibilidade private. Quando a visibilidade é private, qualquer outra classe que queira acessar as variáveis de Aluno devem solicitar a um de seus métodos; inclusive as classes descendentes da classe Aluno. Quando a visibilidade é públic o acesso é permitido indiscriminadamente à qualquer uma classe, indiscriminadamente. Iniciação ao Java – Márcio F. Campos

A visibilidade protected Um meio do caminho entre a visibilidade public e o private é a visibilidade protected. Esta visibilidade permite que apenas as classes descendentes tenham acesso a classe base, em nosso exemplo a classe Aluno. Qualquer outra classe possui seu acesso negado. Iniciação ao Java – Márcio F. Campos

Iniciação ao Java – Márcio F. Campos Dúvidas? Iniciação ao Java – Márcio F. Campos