SlideShare a Scribd company logo
1 of 45
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.

More Related Content

What's hot

Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
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 JAVAAparicio Junior
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em javaManoel Afonso
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em JavaDenis L Presciliano
 
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
 
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxTiago Antônio da Silva
 
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, interfacesRafael Pinheiro
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 

What's hot (20)

Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - 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
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
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)
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e Ajax
 
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
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 

Similar to Herança em Programação Orientada a Objetos

Similar to Herança em Programação Orientada a Objetos (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
 
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
 
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
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
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
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Heranca
HerancaHeranca
Heranca
 

More from 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 etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine 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 EPPCElaine 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.pptxElaine 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 UFSCarElaine 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çõesElaine 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 ClassificationElaine 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.pdfElaine 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 escalonamentoElaine 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 bitsElaine 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çãoElaine Cecília Gatto
 

More from 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
 

Recently uploaded

Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 

Recently uploaded (20)

Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 

Herança em Programação Orientada a Objetos

  • 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.