SlideShare uma empresa Scribd logo
HERANÇA
Linguagem de Programação II
Ciência da Computação
Prof.ª Ms. Elaine Cecília Gatto
HERANÇA
• É uma forma de reutilização de software na qual
uma nova classe é criada, absorvendo membros de
uma classe existente e aprimorada com
capacidades novas ou modificadas.
• Permite enconomia de tempo no desenvolvimento
de programas, reutilizando software de alta
qualidade, testado e depurado
HERANÇA
• SUPERCLASSE:
• Quando uma nova classe herda MEMBROS de
uma classe existente

• SUBCLASSE:
• Nova classe criada com herança de MEMBROS
• Uma subclasse pode se tornar uma superclasse
para outras subclasses
HERANÇA
• SUBCLASSE:
• Tem seus próprios métodos e classes
• É mais específica que a superclasse
• Representa um grupo mais ESPECIALIZADO de
objetos
• Possui comportamentos da SUPERCLASSE mais
os adicionais específicos a ela
HERANÇA
• SUPERCLASSE DIRETA:
• É a superclasse a partir da qual a subclasse herda
explicitamente
• SUPERCLASSE INDIRETA:
• Qualquer superclasse acima da classe direta na
HIERARQUIA DE CLASSE

• HIERARQUIA DE CLASSE:
• Define os relacionamentos de herança entre as
classes
HERANÇA
• HIERARQUIA DE CLASSE:
• Inicia com a classe OBJECT (pacote java.lang)
• TODA classe JAVA ESTENDE (“herda de”) direta
ou indiretamente a classe OBJECT!
• HIERARQUIA SIMPLES:
• Uma classe é derivada de uma superclasse direta
• JAVA NÃO SUPORTA HERANÇA MULTIPLA
HERANÇA
• HERANÇA MULTIPLA:
• Ocorre quando uma classe é derivada de mais de
uma superclasse direta

• RELACIONAMENTO É UM:
• Representa a herança
• Um objeto de uma subclasse também pode ser
tratrado como um objeto da sua superclasse
• Exemplo: um carro É UM veículo
HERANÇA
• RELACIONAMENTO TEM UM:
• Representa a composição
• Um objeto contém uma ou mais referências de
objeto como membros
• Exemplo:
• um carro TEM UMA direção
• um objeto carro TEM UMA referência a um
objeto direção
SUPERCLASSES E SUBCLASSES
• Um objeto de uma classe frequentemente também
É UM objeto de outra classe
• EXEMPLO:
• Um retangulo É UM quadrilátero
• Um quadrado É UM quadrilátero
• Um paralelogramo É UM quadrilátero
• Um trapezóide É UM quadrilátero
SUPERCLASSES E SUBCLASSES
• Um retangulo HERDA DE um quadrilátero
• Quadrilatero é uma SUPERCLASSE
• Retangulo é uma SUBCLASSE
• Um retangulo é um tipo específico de quadrilatero
• MAS um quadrilatero NÃO É UM retangulo
• Um quadrilatero PODER SER:
• Um paralelogramo
• Um quadrado
• Etc
SUPERCLASSES E SUBCLASSES
• Superclasses são mais gerais
• Subclasses são mais específicas
• Cada objeto de SUBCLASSE é um objeto de sua
SUPERCLASSE
• Uma SUPERCLASSE pode ter várias SUBLCLASSES
• Exemplo:
• Uma superclasse VEÍCULO representa todos os
veículos
• Uma subclasse CARRO representa um
subconjunto de veículo menor e mais específico
SUPERCLASSES E SUBCLASSES
• Relacionamentos de herança formam estruturas
hierarquicas do tipo ARVORE
• Há situações em que uma classe pode ser ao
mesmo tempo uma subclasse e também uma
superclasse

• HIERARQUIA DE CLASSE = HIERARQUIA DE
HERANÇA
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
• A leitura do diagrama é feita da seguinte forma: de
baixo para cima, seguindo as setas:
• Um Administrador é um membro do Corpo
Docente
• Um Professor é um membro do Corpo Docente
• Um Corpo Docente é um membro de Empregado
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
• Um Funcionário é membro de Empregado
• Um Empregado é membro da comunidade
• Um Aluno é membro da comunidade
• Um Graduado é membro da comunidade
• Membro da Comunidade é a superclasse direta de
Empregado, Aluno e Graduados
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
• Membro da Comunidade é a superclasse indireta
de todas as outras subclasses no diagrama
• Um administrador é um membro do corpo docente
que é um membro de empregado que é um
membro da comunidade
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
SUPERCLASSES E SUBCLASSES
• Nem todo relacionamento de classe é um
relacionamento de herança
• Relacionamento TEM UM:
• As classes têm membros que são referencias a
objetos de outras classes
• Criam classes compondo classes existentes
SUPERCLASSES E SUBCLASSES
• EXEMPLO:
• Classe empregado
• Classe dataDeNascimento
• Classe numeroDeTelefone
• Um empregado é uma dataDeNascimento?????
• Um empregado TEM UMA dataDeNascimento!
• Um empregado é um numeroDeTelefone?
• Um empregado TEM UM numeroDeTelefone!
SUPERCLASSES E SUBCLASSES
• Importante:
• Objetos de superclasse não podem ser tratados
como objetos de suas subclasses

• Exemplo:
• Todos os carros são veículos, mas nem todos os
veículos são carros
SUPERCLASSES E SUBCLASSES
• Desvantagem da herança:
• Uma subclassepode herdar métodos que ela não
necessita ou que não deveria ter
• Às vezes a subclasse precisa de uma versão
personalizada do método
• SOBRESCREVER:
• A subclasse pode redefinir o método da
superclasse com uma implementação mais
adequada para ela (@OVERRIDE)
MEMBROS PROTECTED
• Membros public:
• São acessíveis onde quer que o programa tenha
uma referencia a um objeto dessa classe ou uma
de suas subclasses
• Membor private:
• Só são acessíveis por dentro da própria classe
• Membros private de uma superclasse NÃO SÃO
HERDADOS pelas suas subclasses
MEMBROS PROTECTED
• MEMBROS PROTECTED:
• Nível intermediário de acesso
• Membros protected de uma SUPERCLASSE
podem ser acessados por:
• membros dessa SUPERCLASSE
• membros de suas SUBCLASSES
• membros de OUTRAS classes no mesmo
PACOTE
MEMBROS PROTECTED
• Membros public e protected da SUPERCLASSE
tornam-se membros public e protected da
subclasse
• PALAVRA CHAVE SUPER:
• Quando um método da SUBCLASSE sobrescrever
um método da SUPERCLASSE, o método da
SUPERCLASSE pode ser acessado a partir da
SUBCLASSE usando a palavra chave SUPER antes
o nome de método da SUPERCLASSE e um
separador de ponto
RELACIONAMENTOS
• PALAVRA CHAVE EXTENDS:
• Usada para indicar que a classe herda de outra
classe:

• public class ClasseExemplo extends Object
• public class Classe2 extends Classe1
• A classe exemplo herda da classe objeto
• A classe2 herda da classe 1
CLASSE OBJECT
• Herança utilizada para criar classes de classes
existentes
• Cada classe Java herda uma classe existente – exceto a
classe OBJECT (que não contem nenhum campo)
• Cada classe Java herda direta ou indiretamente
métodos de OBJECT.
• Se uma classe Java não especificar que ela herda outra
classe, a nova classe herda OBJECT implicitamente
CLASSE OBJECT
• Toda e qualquer classe em Java é uma subclasse da
classe OBJECT
• É a superclasse de todas as classes
• http://docs.oracle.com/javase/7/docs/api/
Construtores em subclasses
• Instanciar um objeto de SUBCLASSE inicia uma
cadeia de chamadas de construtor;
• O construtor de SUBCLASSE, invoca o construtor de
sua SUPERCLASSE direta, antes de realizar suas
próprias tarefas

• Invocação implícita: chama o construtor padrão ou
construtor sem argumentos
• Invocação explícita: usa a palavra chave SUPER
Construtores em subclasses
• Se a SUPERCLASSE é derivada de outra classe, o
construtor da SUPERCLASSE invoca o construtor da
próxima classe no topo da hierarquia

• O último construtor chamado na cadeia é sempre
o construtor da classe OBJECT
• O corpo do construtor de SUBCLASSE original
termina a execução por último.
Construtores em subclasses
• O construtor de cada SUPERCLASSE manipula as
variáveis de instância de SUPERCLASSE que o
objeto de SUBCLASSE herda

• Quando um programa cria um objeto da
SUBCLASSE, o construtor da SUBCLASSE
imediatamente
chama
o
construtor
da
SUPERCLASSE
Construtores em subclasses
• O corpo do construtor da SUPERCLASSE executa
para inicializar as variáveis de instância da
SUPERCLASSE que fazem parte do objeto da
SUBCLASSE
•O
corpo
do
construtor
da
SUBCLASSE, então, executa para inicializar variáveis
de instância somente da SUBCLASSE
Patentes de código
• A herança permite que você patenteie seu código e
os venda com as licenças apropriadas ou apenas
disponibilizando para outros usuários em formato
de bytecode
• BYTECODE JAVA: é um formato de código
intermediário entre o código fonte, o texto que o
programador consegue manipular, e o código de
máquina, que o computador consegue executar.
Patentes de código
Permite portabilidade pois executa em qualquer plataforma computacional
Patentes de código
• A herança permite que o programador NÃO altere
o código-fonte da SUPERCLASSE, mas permite que
ele o utilize em sua classe proprietária
• Classes proprietárias: são as classes desenvolvidas
por desenvolvedores (por vocês – são classes
personalizadas)

• Herança
preserva
a
integridade
da
SUPERCLASSE, portanto a sua SUBCLASSE não afeta
o código-fonte da SUPERCLASSE
Patentes de código
• Um programador Java não precisa entender — e
nem tomar conhecimento — dos bytecodes Java
para ser proficiente na linguagem, da mesma
forma que um programador de qualquer
linguagem de alto nível compilada para linguagem
de máquina não precisa conhecer a linguagem de
montagem do computador hospedeiro para
escrever bons programas naquela linguagem.
Patentes de código
• Em seus projeto crie menos classes que fornecem
funcionalidades mais substanciais, isso evitará
problemas na utilização das classes

• Muitas classes cria problema de gerenciamento e
pode indicar mal uso de reutilização de software
Patentes de código
• Se SUBCLASSES tem mais funcionalidades do que
precisam de fato, a memória e os recursos
computacionais podem ser desperdiçados

• Portanto, use herança com sabedoria! Herde
apenas das SUPERCLASSES que fornecem as
funcionalidades que de fato você precisa
EXEMPLO 1
package br.com.exemploheranca;
public class pessoa {
String nome, idade, endereco = "R: Java ,501";

public void ImprimeNome() {
System.out.println("o nome é:");
System.out.println("Endereco: " + endereco);
}
}
EXEMPLO 1
package br.com.exemploheranca;
public class fornecedor extends pessoa{
String cnpj;

public void ImprimeNome() {
System.out.println("O nome do fornecedor é :
" + nome + "n Cnpj: " + cnpj);
}
}
EXEMPLO 1
package br.com.exemploheranca;
public class cliente extends pessoa {
String cpf;

public void ImprimeNome() {
System.out.println("Nome do cliente é : " +
nome + "n Nº CPF: " + cpf + "n Seu endereco :" +
endereco);
}
}
EXEMPLO 1
package br.com.exemploheranca;

public class principal {
public static void main(String[] args) {
cliente c = new cliente();
c.nome = "Luiz";
c.cpf = "073.777.796-21";
c.ImprimeNome();
fornecedor f = new fornecedor();
f.nome = "Deltatronic";
f.cnpj = "073.856.9856.52-10";
f.ImprimeNome();
}
}
EXEMPLO 2
EXERCÍCIOS
• Desenhe uma hierarquia de herança para
alunos universitários. Utilize ALUNO como
superclasse da hierarquia, então herde
ALUNO com as classes ALUNODEGRADUAÇÃO e
ALUNOGRADUADO.
Continue
a
estender
a
hierarquia o mais profundo que conseguir
(vários níveis). Depois de desenhar a
hierarquia,
discuta
os
relacionamentos
entre as classes. Em seguida, crie as
classes e crie um programa Java que
demonstre sua utilização.
EXERCÍCIOS
• Desenhe
uma
hierarquia
de
herança
para
QUADRILATERIO, TRAPEZIO, PARALELOGRAMO, RETANGULO e
QUADRADO. Utilize QUADRILATERO como a superclasse da
hierarquia. Faça a hierarquia o mais profundo que
conseguir (com muitos níveis). Especifique as
variáveis de instância e os métodos para cada
classe. As variáveis de instância private de
QUADRILATERO devem ser os pares x e y de coordenadas
para os quatro ontos que delimitam o QUADRILATERO.
Escreva um programa em Java que instancia os objetos
de suas classes e gera saída da área de cada objeto
– menos o QUADRILATERO.

Mais conteúdo relacionado

Mais procurados

Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
Felipe J. R. Vieira
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
Jéssica Nathany Carvalho Freitas
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
Gabriel Faustino
 
PCII AULA 3 - INTERFACES EM JAVA
PCII AULA 3 - INTERFACES EM JAVAPCII AULA 3 - INTERFACES EM JAVA
PCII AULA 3 - INTERFACES EM JAVA
ETEC Monsenhor Antonio Magliano
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
antonio sérgio nogueira
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
Evandro Agnes
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
Bruno Catão
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
Ludimila Monjardim Casagrande
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Rafael Pinheiro
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel Brandão
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
Diego Armando
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
Pedro De Almeida
 
UML
UMLUML
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
Suzana Viana Mota
 

Mais procurados (20)

Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
PCII AULA 3 - INTERFACES EM JAVA
PCII AULA 3 - INTERFACES EM JAVAPCII AULA 3 - INTERFACES EM JAVA
PCII AULA 3 - INTERFACES EM JAVA
 
Python Orientação a Objeto
Python Orientação a ObjetoPython Orientação a Objeto
Python Orientação a Objeto
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
UML
UMLUML
UML
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 

Semelhante a JAVA - Herança

Herança
HerançaHerança
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
ThiagoFortes8
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
Filipo Mór
 
Pacotes
PacotesPacotes
Poo
PooPoo
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
Elaine Cecília Gatto
 
Refatorações
RefatoraçõesRefatorações
Refatorações
Altamir Benkenstein
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
Raytssa Martins
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
Regis Magalhães
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
Aparicio Junior
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em java
Diogo Winck
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AurelcioOliveira
 
Clean code em C#
Clean code em C#Clean code em C#
Clean code em C#
Gustavo Araújo
 
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
marcusNOGUEIRA
 
Poo
PooPoo
3- POO
3- POO3- POO
3- POO
Frank Coelho
 
Refatoração
RefatoraçãoRefatoração
Refatoração
Gerson Borges
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
Elaine Cecília Gatto
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, Interface
Arthur Emanuel
 
Design Patterns - Adapter e Decorator
Design Patterns - Adapter e DecoratorDesign Patterns - Adapter e Decorator
Design Patterns - Adapter e Decorator
Murilo Adriano Vasconcelos
 

Semelhante a JAVA - Herança (20)

Herança
HerançaHerança
Herança
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Pacotes
PacotesPacotes
Pacotes
 
Poo
PooPoo
Poo
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em java
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
 
Clean code em C#
Clean code em C#Clean code em C#
Clean code em C#
 
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
 
Poo
PooPoo
Poo
 
3- POO
3- POO3- POO
3- POO
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, Interface
 
Design Patterns - Adapter e Decorator
Design Patterns - Adapter e DecoratorDesign Patterns - Adapter e Decorator
Design Patterns - Adapter e Decorator
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
Elaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
Elaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
Elaine Cecília Gatto
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
Elaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
Elaine Cecília Gatto
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
Elaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
Elaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
Elaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Elaine Cecília Gatto
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
Elaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
Elaine Cecília Gatto
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
Elaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Elaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
Elaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4
DouglasMoraes54
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
JoeteCarvalho
 
Cartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptxCartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptx
Zenir Carmen Bez Trombeta
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
todorokillmepls
 
As sequências didáticas: práticas educativas
As sequências didáticas: práticas educativasAs sequências didáticas: práticas educativas
As sequências didáticas: práticas educativas
rloureiro1
 
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
LeticiaRochaCupaiol
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
AurelianoFerreirades2
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
APRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIA
APRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIAAPRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIA
APRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIA
karinenobre2033
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
Simone399395
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
CarinaSantos916505
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
LILIANPRESTESSCUDELE
 
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxPP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
GÊNERO TEXTUAL - POEMA.pptx
GÊNERO      TEXTUAL     -     POEMA.pptxGÊNERO      TEXTUAL     -     POEMA.pptx
GÊNERO TEXTUAL - POEMA.pptx
Marlene Cunhada
 
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
HisrelBlog
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
fran0410
 

Último (20)

O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
 
Cartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptxCartinhas de solidariedade e esperança.pptx
Cartinhas de solidariedade e esperança.pptx
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
 
As sequências didáticas: práticas educativas
As sequências didáticas: práticas educativasAs sequências didáticas: práticas educativas
As sequências didáticas: práticas educativas
 
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
1ª LEI DE OHN, CARACTERISTICAS IMPORTANTES.
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
APRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIA
APRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIAAPRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIA
APRESENTAÇÃO PARA AULA DE URGÊNCIA E EMERGÊNCIA
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
 
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxPP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
GÊNERO TEXTUAL - POEMA.pptx
GÊNERO      TEXTUAL     -     POEMA.pptxGÊNERO      TEXTUAL     -     POEMA.pptx
GÊNERO TEXTUAL - POEMA.pptx
 
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
 

JAVA - Herança

  • 1. HERANÇA Linguagem de Programação II Ciência da Computação Prof.ª Ms. Elaine Cecília Gatto
  • 2. HERANÇA • É uma forma de reutilização de software na qual uma nova classe é criada, absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas. • Permite enconomia de tempo no desenvolvimento de programas, reutilizando software de alta qualidade, testado e depurado
  • 3. HERANÇA • SUPERCLASSE: • Quando uma nova classe herda MEMBROS de uma classe existente • SUBCLASSE: • Nova classe criada com herança de MEMBROS • Uma subclasse pode se tornar uma superclasse para outras subclasses
  • 4. HERANÇA • SUBCLASSE: • Tem seus próprios métodos e classes • É mais específica que a superclasse • Representa um grupo mais ESPECIALIZADO de objetos • Possui comportamentos da SUPERCLASSE mais os adicionais específicos a ela
  • 5. HERANÇA • SUPERCLASSE DIRETA: • É a superclasse a partir da qual a subclasse herda explicitamente • SUPERCLASSE INDIRETA: • Qualquer superclasse acima da classe direta na HIERARQUIA DE CLASSE • HIERARQUIA DE CLASSE: • Define os relacionamentos de herança entre as classes
  • 6. HERANÇA • HIERARQUIA DE CLASSE: • Inicia com a classe OBJECT (pacote java.lang) • TODA classe JAVA ESTENDE (“herda de”) direta ou indiretamente a classe OBJECT! • HIERARQUIA SIMPLES: • Uma classe é derivada de uma superclasse direta • JAVA NÃO SUPORTA HERANÇA MULTIPLA
  • 7. HERANÇA • HERANÇA MULTIPLA: • Ocorre quando uma classe é derivada de mais de uma superclasse direta • RELACIONAMENTO É UM: • Representa a herança • Um objeto de uma subclasse também pode ser tratrado como um objeto da sua superclasse • Exemplo: um carro É UM veículo
  • 8. HERANÇA • RELACIONAMENTO TEM UM: • Representa a composição • Um objeto contém uma ou mais referências de objeto como membros • Exemplo: • um carro TEM UMA direção • um objeto carro TEM UMA referência a um objeto direção
  • 9. SUPERCLASSES E SUBCLASSES • Um objeto de uma classe frequentemente também É UM objeto de outra classe • EXEMPLO: • Um retangulo É UM quadrilátero • Um quadrado É UM quadrilátero • Um paralelogramo É UM quadrilátero • Um trapezóide É UM quadrilátero
  • 10. SUPERCLASSES E SUBCLASSES • Um retangulo HERDA DE um quadrilátero • Quadrilatero é uma SUPERCLASSE • Retangulo é uma SUBCLASSE • Um retangulo é um tipo específico de quadrilatero • MAS um quadrilatero NÃO É UM retangulo • Um quadrilatero PODER SER: • Um paralelogramo • Um quadrado • Etc
  • 11. SUPERCLASSES E SUBCLASSES • Superclasses são mais gerais • Subclasses são mais específicas • Cada objeto de SUBCLASSE é um objeto de sua SUPERCLASSE • Uma SUPERCLASSE pode ter várias SUBLCLASSES • Exemplo: • Uma superclasse VEÍCULO representa todos os veículos • Uma subclasse CARRO representa um subconjunto de veículo menor e mais específico
  • 12. SUPERCLASSES E SUBCLASSES • Relacionamentos de herança formam estruturas hierarquicas do tipo ARVORE • Há situações em que uma classe pode ser ao mesmo tempo uma subclasse e também uma superclasse • HIERARQUIA DE CLASSE = HIERARQUIA DE HERANÇA
  • 15. SUPERCLASSES E SUBCLASSES • EXEMPLO: • A leitura do diagrama é feita da seguinte forma: de baixo para cima, seguindo as setas: • Um Administrador é um membro do Corpo Docente • Um Professor é um membro do Corpo Docente • Um Corpo Docente é um membro de Empregado
  • 16. SUPERCLASSES E SUBCLASSES • EXEMPLO: • Um Funcionário é membro de Empregado • Um Empregado é membro da comunidade • Um Aluno é membro da comunidade • Um Graduado é membro da comunidade • Membro da Comunidade é a superclasse direta de Empregado, Aluno e Graduados
  • 17. SUPERCLASSES E SUBCLASSES • EXEMPLO: • Membro da Comunidade é a superclasse indireta de todas as outras subclasses no diagrama • Um administrador é um membro do corpo docente que é um membro de empregado que é um membro da comunidade
  • 19. SUPERCLASSES E SUBCLASSES • Nem todo relacionamento de classe é um relacionamento de herança • Relacionamento TEM UM: • As classes têm membros que são referencias a objetos de outras classes • Criam classes compondo classes existentes
  • 20. SUPERCLASSES E SUBCLASSES • EXEMPLO: • Classe empregado • Classe dataDeNascimento • Classe numeroDeTelefone • Um empregado é uma dataDeNascimento????? • Um empregado TEM UMA dataDeNascimento! • Um empregado é um numeroDeTelefone? • Um empregado TEM UM numeroDeTelefone!
  • 21. SUPERCLASSES E SUBCLASSES • Importante: • Objetos de superclasse não podem ser tratados como objetos de suas subclasses • Exemplo: • Todos os carros são veículos, mas nem todos os veículos são carros
  • 22. SUPERCLASSES E SUBCLASSES • Desvantagem da herança: • Uma subclassepode herdar métodos que ela não necessita ou que não deveria ter • Às vezes a subclasse precisa de uma versão personalizada do método • SOBRESCREVER: • A subclasse pode redefinir o método da superclasse com uma implementação mais adequada para ela (@OVERRIDE)
  • 23. MEMBROS PROTECTED • Membros public: • São acessíveis onde quer que o programa tenha uma referencia a um objeto dessa classe ou uma de suas subclasses • Membor private: • Só são acessíveis por dentro da própria classe • Membros private de uma superclasse NÃO SÃO HERDADOS pelas suas subclasses
  • 24. MEMBROS PROTECTED • MEMBROS PROTECTED: • Nível intermediário de acesso • Membros protected de uma SUPERCLASSE podem ser acessados por: • membros dessa SUPERCLASSE • membros de suas SUBCLASSES • membros de OUTRAS classes no mesmo PACOTE
  • 25. MEMBROS PROTECTED • Membros public e protected da SUPERCLASSE tornam-se membros public e protected da subclasse • PALAVRA CHAVE SUPER: • Quando um método da SUBCLASSE sobrescrever um método da SUPERCLASSE, o método da SUPERCLASSE pode ser acessado a partir da SUBCLASSE usando a palavra chave SUPER antes o nome de método da SUPERCLASSE e um separador de ponto
  • 26. RELACIONAMENTOS • PALAVRA CHAVE EXTENDS: • Usada para indicar que a classe herda de outra classe: • public class ClasseExemplo extends Object • public class Classe2 extends Classe1 • A classe exemplo herda da classe objeto • A classe2 herda da classe 1
  • 27. CLASSE OBJECT • Herança utilizada para criar classes de classes existentes • Cada classe Java herda uma classe existente – exceto a classe OBJECT (que não contem nenhum campo) • Cada classe Java herda direta ou indiretamente métodos de OBJECT. • Se uma classe Java não especificar que ela herda outra classe, a nova classe herda OBJECT implicitamente
  • 28. CLASSE OBJECT • Toda e qualquer classe em Java é uma subclasse da classe OBJECT • É a superclasse de todas as classes • http://docs.oracle.com/javase/7/docs/api/
  • 29. Construtores em subclasses • Instanciar um objeto de SUBCLASSE inicia uma cadeia de chamadas de construtor; • O construtor de SUBCLASSE, invoca o construtor de sua SUPERCLASSE direta, antes de realizar suas próprias tarefas • Invocação implícita: chama o construtor padrão ou construtor sem argumentos • Invocação explícita: usa a palavra chave SUPER
  • 30. Construtores em subclasses • Se a SUPERCLASSE é derivada de outra classe, o construtor da SUPERCLASSE invoca o construtor da próxima classe no topo da hierarquia • O último construtor chamado na cadeia é sempre o construtor da classe OBJECT • O corpo do construtor de SUBCLASSE original termina a execução por último.
  • 31. Construtores em subclasses • O construtor de cada SUPERCLASSE manipula as variáveis de instância de SUPERCLASSE que o objeto de SUBCLASSE herda • Quando um programa cria um objeto da SUBCLASSE, o construtor da SUBCLASSE imediatamente chama o construtor da SUPERCLASSE
  • 32. Construtores em subclasses • O corpo do construtor da SUPERCLASSE executa para inicializar as variáveis de instância da SUPERCLASSE que fazem parte do objeto da SUBCLASSE •O corpo do construtor da SUBCLASSE, então, executa para inicializar variáveis de instância somente da SUBCLASSE
  • 33. Patentes de código • A herança permite que você patenteie seu código e os venda com as licenças apropriadas ou apenas disponibilizando para outros usuários em formato de bytecode • BYTECODE JAVA: é um formato de código intermediário entre o código fonte, o texto que o programador consegue manipular, e o código de máquina, que o computador consegue executar.
  • 34. Patentes de código Permite portabilidade pois executa em qualquer plataforma computacional
  • 35. Patentes de código • A herança permite que o programador NÃO altere o código-fonte da SUPERCLASSE, mas permite que ele o utilize em sua classe proprietária • Classes proprietárias: são as classes desenvolvidas por desenvolvedores (por vocês – são classes personalizadas) • Herança preserva a integridade da SUPERCLASSE, portanto a sua SUBCLASSE não afeta o código-fonte da SUPERCLASSE
  • 36. Patentes de código • Um programador Java não precisa entender — e nem tomar conhecimento — dos bytecodes Java para ser proficiente na linguagem, da mesma forma que um programador de qualquer linguagem de alto nível compilada para linguagem de máquina não precisa conhecer a linguagem de montagem do computador hospedeiro para escrever bons programas naquela linguagem.
  • 37. Patentes de código • Em seus projeto crie menos classes que fornecem funcionalidades mais substanciais, isso evitará problemas na utilização das classes • Muitas classes cria problema de gerenciamento e pode indicar mal uso de reutilização de software
  • 38. Patentes de código • Se SUBCLASSES tem mais funcionalidades do que precisam de fato, a memória e os recursos computacionais podem ser desperdiçados • Portanto, use herança com sabedoria! Herde apenas das SUPERCLASSES que fornecem as funcionalidades que de fato você precisa
  • 39. EXEMPLO 1 package br.com.exemploheranca; public class pessoa { String nome, idade, endereco = "R: Java ,501"; public void ImprimeNome() { System.out.println("o nome é:"); System.out.println("Endereco: " + endereco); } }
  • 40. EXEMPLO 1 package br.com.exemploheranca; public class fornecedor extends pessoa{ String cnpj; public void ImprimeNome() { System.out.println("O nome do fornecedor é : " + nome + "n Cnpj: " + cnpj); } }
  • 41. EXEMPLO 1 package br.com.exemploheranca; public class cliente extends pessoa { String cpf; public void ImprimeNome() { System.out.println("Nome do cliente é : " + nome + "n Nº CPF: " + cpf + "n Seu endereco :" + endereco); } }
  • 42. EXEMPLO 1 package br.com.exemploheranca; public class principal { public static void main(String[] args) { cliente c = new cliente(); c.nome = "Luiz"; c.cpf = "073.777.796-21"; c.ImprimeNome(); fornecedor f = new fornecedor(); f.nome = "Deltatronic"; f.cnpj = "073.856.9856.52-10"; f.ImprimeNome(); } }
  • 44. EXERCÍCIOS • Desenhe uma hierarquia de herança para alunos universitários. Utilize ALUNO como superclasse da hierarquia, então herde ALUNO com as classes ALUNODEGRADUAÇÃO e ALUNOGRADUADO. Continue a estender a hierarquia o mais profundo que conseguir (vários níveis). Depois de desenhar a hierarquia, discuta os relacionamentos entre as classes. Em seguida, crie as classes e crie um programa Java que demonstre sua utilização.
  • 45. EXERCÍCIOS • Desenhe uma hierarquia de herança para QUADRILATERIO, TRAPEZIO, PARALELOGRAMO, RETANGULO e QUADRADO. Utilize QUADRILATERO como a superclasse da hierarquia. Faça a hierarquia o mais profundo que conseguir (com muitos níveis). Especifique as variáveis de instância e os métodos para cada classe. As variáveis de instância private de QUADRILATERO devem ser os pares x e y de coordenadas para os quatro ontos que delimitam o QUADRILATERO. Escreva um programa em Java que instancia os objetos de suas classes e gera saída da área de cada objeto – menos o QUADRILATERO.