SlideShare uma empresa Scribd logo
1 de 5
Linguagem de Programação II 
Ciência da Computação 
1 
Antes de ler este documento assista às vídeos aulas 1, 2 e 3 da Prof.ª M.ª Eng.ª Elaine Cecília Gatto 
que estão disponíveis no Syllabus e Youtube. Todos os códigos fonte dos exemplos também estão 
disponíveis no Syllabus. 
REFERÊNCIAS DA SUPERCLASSE E OBJETOS DA SUBCLASSE 
 Java é uma linguagem fortemente tipada; 
 A compatibilidade de tipos é imposta rigorosamente; 
 Uma variável de referencia de um tipo de classe não pode referenciar um objeto de outro tipo de 
classe; 
o EXEMPLO: ExemploHerança4; 
 Ainda que a classe X e a classe Y sejam fisicamente iguais, não é possível atribuir a uma variável 
X a referencia a um objeto Y, pois tem tipos diferentes; 
 Uma variável de referencia de objeto só pode referenciar objetos de seu tipo; 
 Há uma exceção importante à imposição rigorosa de tipos de Java; 
 A variável de referencia de uma superclasse pode receber a referencia a um objeto de qualquer 
subclasse derivada dessa superclasse; 
 Uma referencia da superclasse pode referenciar um objeto da classe; 
o EXEMPLO: ExemploHerança 5; 
 Y é derivada de X, então, é permitido que x2 receba uma referencia a um objeto Y; 
 É o tipo da variável de referencia que determina os membros que podem ser acessados – e não o 
tipo do objeto que ela referencia; 
 Quando uma referência a um objeto da subclasse for atribuida a uma variavel de referencia da 
superclasse, você só terá acesso às partes do objeto definidas pela superclasse; 
 X2 não pode acessar b mesmo quando referencia um objeto y por conta disso; 
 A superclasse não tem conhecimento do que uma subclasse adiciona a ela; 
 Um local importante em que referencias de subclasse são atribuidas a variaveis da superclasse é 
quando os contrutores são chamados em uma hierarquia de classes;
Linguagem de Programação II 
Ciência da Computação 
2 
 É comum uma classe definir um construtor que recebe um objeto da classe como parâmetro; 
 Isso permite que a classe construa uma cópia de um objeto; 
 As subclasses de uma classe como essa podem se beneficiar desse recurso; 
o EXEMPLO: ExemploHerança6; 
 O ponto-chave é que a classe mãe está esperando um objeto da classe mãe; 
 No entanto, uma classe filha passa para a classe mãe um objeto classe filha; 
 Isso funciona porque uma referencia da superclasse pode referenciar um objeto da subclasse; 
 É perfeitamente aceitável passar para a classe mãe a referencia a um objeto de uma classe 
derivada da classe mãe; 
 Já que o construtor da classe mãe só está inicializando as partes do objeto da subclasse que são 
membros da classe mãe, não importa se o objeto contém outros membros adicionados por classes 
derivadas. 
SOBREPOSIÇÃO DE MÉTODOS 
 Em uma hierarquia de classes, quando um método de uma subclasse tem o mesmo tipo de retorno 
e assinatura de um método de superclasse, diz-se que o método da subclasse SOBREPÕE o 
método da superclasse; 
 Quando um método sobreposto é chamado de dentro de uma subclasse, a referencia é sempre à 
versão definida pela subclasse; 
 A versão do método definida pela superclasse será ocultada; 
o EXEMPLO: ExemploHerança7; 
 Quando o método MOSTRAR() é chamado em um objeto de tipo B, a versão definida dentro de B 
é usada; 
 A versão MOSTRAR () de B sobrepõe a versão declarada de A; 
 Se quiser acessar a versão de um método sobreposto definida pela superclasse, você pode fazer 
isso usando SUPER;
Linguagem de Programação II 
Ciência da Computação 
3 
o EXEMPLO: ExemploHerança8; 
 Nessa versão de B, a versão de MOSTRAR() da superclasse é chamada dentro da versão da 
subclasse; 
 Isso permite que todas as variáveis de instância sejam exibidas; 
 Super. MOSTRAR() chama a versão de MOSTRAR() da superclasse; 
 A sobreposição de métodos só ocorre quando as assinaturas dos dois métodos são idênticas; 
 Se não forem, os dois métodos serão apenas sobrecarregados; 
o EXEMPLO: ExemploHerança9; 
 A versão MOSTRAR() definida por B recebe um parametro tipo string; 
 Isso torna sua assinatura diferente da existente em A, que não recebe parâmetros 
 Então, não ocorre sobreposição ou OCULTAÇÃO de nomes. 
MÉTODOS SOBREPOSTOS DÃO SUPORTE AO POLIMORFISMO 
 A sobreposição de métodos forma a base de um dos conceitos mais poderosos em JAVA: o 
despacho dinâmico de métodos; 
 Despacho dinâmico de métodos é o mecanismo pelo qual a chamada a um método sobreposto é 
reslvida no tempo de execução e não no tempo de compilação; 
 O despach dinâmico de memória é importante porque é assim que JAVA implementa o 
polimorfismo no tempo de execução; 
 Uma variável de referência da superclasse pode referenciar um objeto da subclasse; 
 Java usa esse fato para resolver chamadas a métodos sobrepostos no tempo de execução; 
 Quando um método sobreposto é chamado por uma referencia da superclasse, JAVA determina a 
versão desse método que será executada com base no tipo do objeto sendo referenciado no 
momento em que a chamada ocorre; 
 Essa escolha é feita no tempo de execução; 
 Quando diferentes tipos de objetos são referenciados, versões distintas de um método sobreposto 
são chamadas;
Linguagem de Programação II 
Ciência da Computação 
4 
 É o tipo do objeto referenciados que determina a versão de um método sobreposto que será 
executada, e não o tipo da variável de referencia; 
 Se uma superclasse tiver um método sobreposto por uma subclasse, quando diferentes tipos de 
objetos da subclasse forem referenciados por uma variável de referencia da superclasse, versões 
distintas do método serão executadas; 
o EXEMPLO: ExemploHerança10; 
 No exemplo acima são criadas dus subclasses e uma superclasse. A superclasse declara um 
método chamado QUEM() e as subclasses o sobrepõem; 
 No main são declarados objetos e uma referencia; 
 O programa atribui uma referencia de cada tipo de objeto a supRef e usa essa referencia para 
chamar QUEM(); 
 A versão de QUEM() executada é determinada pelo tipo de objeto referenciado no momento da 
chamada, e não pelo tipo de classe. 
PORQUE SOBREPOR MÉTODOS? 
 Os métodos sobrepostos permite que JAVA dê suporte ao POLIMORFISMO no tempo de 
execução; 
 O POLIMORFISMO é essencial para a programação orientada a objetos; 
 O POLIMORFISMO permite que uma classe geral especifique métodos que serão comuns a todos 
os seus derivados; 
 O POLIMORFISMO permite também que as subclasses definam a implementação específica de 
alguns desses métodos ou de todos eles; 
 Os métodos sobrepostos são outra maneira de JAVA implementar o aspecto “UMA INTERFACE, 
VÁRIOS MÉTODOS”, do polimorfismo; 
 As superclasses e subclasses formam uma hierarquia que se move da menor para a maior 
especialização; 
 A superclasse fornece todos os elementos que uma subclasse pode usar diretamente; 
 A superclasse especifica os métodos que a classe derivada deve implementar por conta própria;
Linguagem de Programação II 
Ciência da Computação 
5 
 À subclasse é dada a flexibilidade para definir seus próprios métodos, sem deixar de impor a 
consistência da INTERFACE; 
 Uma superclasse pode definir a forma geral dos métodos que serão usados por todas as suas 
subclasses; 
o EXEMPLO: ExemploHerança11;

Mais conteúdo relacionado

Mais procurados (19)

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
 
Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3
 
Interface
InterfaceInterface
Interface
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
 
Aula Tratamento de Exceções
Aula Tratamento de ExceçõesAula Tratamento de Exceções
Aula Tratamento de Exceções
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Tratamento de erros
Tratamento de errosTratamento de erros
Tratamento de erros
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso Java
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 
Java11
Java11Java11
Java11
 
7194099-Manual-de-Java
7194099-Manual-de-Java7194099-Manual-de-Java
7194099-Manual-de-Java
 

Destaque

Destaque (20)

Tutorial Java: Interface
Tutorial Java: InterfaceTutorial Java: Interface
Tutorial Java: Interface
 
Heranca
HerancaHeranca
Heranca
 
Units
UnitsUnits
Units
 
Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1
 
Registros
RegistrosRegistros
Registros
 
Projeto Pedagógico do Curso de Bacharelado em Engenharia de Computação da USC
Projeto Pedagógico do Curso de Bacharelado em Engenharia de Computação da USCProjeto Pedagógico do Curso de Bacharelado em Engenharia de Computação da USC
Projeto Pedagógico do Curso de Bacharelado em Engenharia de Computação da USC
 
Resumo assembly x86 16 bits
Resumo assembly x86 16 bitsResumo assembly x86 16 bits
Resumo assembly x86 16 bits
 
Apostila Java2D
Apostila Java2DApostila Java2D
Apostila Java2D
 
Biografia Influenciadores Robótica
Biografia Influenciadores RobóticaBiografia Influenciadores Robótica
Biografia Influenciadores Robótica
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Exemplo Registro
Exemplo RegistroExemplo Registro
Exemplo Registro
 
Orientações para o TCC Lato Sensu DSW
Orientações para o TCC Lato Sensu DSWOrientações para o TCC Lato Sensu DSW
Orientações para o TCC Lato Sensu DSW
 
Tutorial Java3D
Tutorial Java3DTutorial Java3D
Tutorial Java3D
 
Arquitetura de Computadores: Assembly - Debug
Arquitetura de Computadores: Assembly - DebugArquitetura de Computadores: Assembly - Debug
Arquitetura de Computadores: Assembly - Debug
 
Tutorial pascal arquivos
Tutorial pascal arquivosTutorial pascal arquivos
Tutorial pascal arquivos
 
MIPS 32 BITS
MIPS 32 BITSMIPS 32 BITS
MIPS 32 BITS
 
Orientações TCC Eng Comp
Orientações TCC Eng CompOrientações TCC Eng Comp
Orientações TCC Eng Comp
 
Tutorial Java: Herança
Tutorial Java: HerançaTutorial Java: Herança
Tutorial Java: Herança
 
Tutorial Java: Polimorfismo
Tutorial Java: PolimorfismoTutorial Java: Polimorfismo
Tutorial Java: Polimorfismo
 
Apostila Java2D (correta)
Apostila Java2D (correta)Apostila Java2D (correta)
Apostila Java2D (correta)
 

Semelhante a Herança

Semelhante a Herança (20)

JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
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
 
Herança
HerançaHerança
Herança
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Herança.pptx
Herança.pptxHerança.pptx
Herança.pptx
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Orientação a objetos com PHP
Orientação a objetos com PHPOrientação a objetos com PHP
Orientação a objetos com PHP
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Herança
HerançaHerança
Herança
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
Programação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptxProgramação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptx
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetos
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
 
Aula 4 acessibilidade
Aula 4   acessibilidadeAula 4   acessibilidade
Aula 4 acessibilidade
 
Guia Rápido Java
Guia Rápido JavaGuia Rápido Java
Guia Rápido Java
 
Interfaces
InterfacesInterfaces
Interfaces
 

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

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

ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfArthurRomanof1
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 

Último (20)

ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdf
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 

Herança

  • 1. Linguagem de Programação II Ciência da Computação 1 Antes de ler este documento assista às vídeos aulas 1, 2 e 3 da Prof.ª M.ª Eng.ª Elaine Cecília Gatto que estão disponíveis no Syllabus e Youtube. Todos os códigos fonte dos exemplos também estão disponíveis no Syllabus. REFERÊNCIAS DA SUPERCLASSE E OBJETOS DA SUBCLASSE  Java é uma linguagem fortemente tipada;  A compatibilidade de tipos é imposta rigorosamente;  Uma variável de referencia de um tipo de classe não pode referenciar um objeto de outro tipo de classe; o EXEMPLO: ExemploHerança4;  Ainda que a classe X e a classe Y sejam fisicamente iguais, não é possível atribuir a uma variável X a referencia a um objeto Y, pois tem tipos diferentes;  Uma variável de referencia de objeto só pode referenciar objetos de seu tipo;  Há uma exceção importante à imposição rigorosa de tipos de Java;  A variável de referencia de uma superclasse pode receber a referencia a um objeto de qualquer subclasse derivada dessa superclasse;  Uma referencia da superclasse pode referenciar um objeto da classe; o EXEMPLO: ExemploHerança 5;  Y é derivada de X, então, é permitido que x2 receba uma referencia a um objeto Y;  É o tipo da variável de referencia que determina os membros que podem ser acessados – e não o tipo do objeto que ela referencia;  Quando uma referência a um objeto da subclasse for atribuida a uma variavel de referencia da superclasse, você só terá acesso às partes do objeto definidas pela superclasse;  X2 não pode acessar b mesmo quando referencia um objeto y por conta disso;  A superclasse não tem conhecimento do que uma subclasse adiciona a ela;  Um local importante em que referencias de subclasse são atribuidas a variaveis da superclasse é quando os contrutores são chamados em uma hierarquia de classes;
  • 2. Linguagem de Programação II Ciência da Computação 2  É comum uma classe definir um construtor que recebe um objeto da classe como parâmetro;  Isso permite que a classe construa uma cópia de um objeto;  As subclasses de uma classe como essa podem se beneficiar desse recurso; o EXEMPLO: ExemploHerança6;  O ponto-chave é que a classe mãe está esperando um objeto da classe mãe;  No entanto, uma classe filha passa para a classe mãe um objeto classe filha;  Isso funciona porque uma referencia da superclasse pode referenciar um objeto da subclasse;  É perfeitamente aceitável passar para a classe mãe a referencia a um objeto de uma classe derivada da classe mãe;  Já que o construtor da classe mãe só está inicializando as partes do objeto da subclasse que são membros da classe mãe, não importa se o objeto contém outros membros adicionados por classes derivadas. SOBREPOSIÇÃO DE MÉTODOS  Em uma hierarquia de classes, quando um método de uma subclasse tem o mesmo tipo de retorno e assinatura de um método de superclasse, diz-se que o método da subclasse SOBREPÕE o método da superclasse;  Quando um método sobreposto é chamado de dentro de uma subclasse, a referencia é sempre à versão definida pela subclasse;  A versão do método definida pela superclasse será ocultada; o EXEMPLO: ExemploHerança7;  Quando o método MOSTRAR() é chamado em um objeto de tipo B, a versão definida dentro de B é usada;  A versão MOSTRAR () de B sobrepõe a versão declarada de A;  Se quiser acessar a versão de um método sobreposto definida pela superclasse, você pode fazer isso usando SUPER;
  • 3. Linguagem de Programação II Ciência da Computação 3 o EXEMPLO: ExemploHerança8;  Nessa versão de B, a versão de MOSTRAR() da superclasse é chamada dentro da versão da subclasse;  Isso permite que todas as variáveis de instância sejam exibidas;  Super. MOSTRAR() chama a versão de MOSTRAR() da superclasse;  A sobreposição de métodos só ocorre quando as assinaturas dos dois métodos são idênticas;  Se não forem, os dois métodos serão apenas sobrecarregados; o EXEMPLO: ExemploHerança9;  A versão MOSTRAR() definida por B recebe um parametro tipo string;  Isso torna sua assinatura diferente da existente em A, que não recebe parâmetros  Então, não ocorre sobreposição ou OCULTAÇÃO de nomes. MÉTODOS SOBREPOSTOS DÃO SUPORTE AO POLIMORFISMO  A sobreposição de métodos forma a base de um dos conceitos mais poderosos em JAVA: o despacho dinâmico de métodos;  Despacho dinâmico de métodos é o mecanismo pelo qual a chamada a um método sobreposto é reslvida no tempo de execução e não no tempo de compilação;  O despach dinâmico de memória é importante porque é assim que JAVA implementa o polimorfismo no tempo de execução;  Uma variável de referência da superclasse pode referenciar um objeto da subclasse;  Java usa esse fato para resolver chamadas a métodos sobrepostos no tempo de execução;  Quando um método sobreposto é chamado por uma referencia da superclasse, JAVA determina a versão desse método que será executada com base no tipo do objeto sendo referenciado no momento em que a chamada ocorre;  Essa escolha é feita no tempo de execução;  Quando diferentes tipos de objetos são referenciados, versões distintas de um método sobreposto são chamadas;
  • 4. Linguagem de Programação II Ciência da Computação 4  É o tipo do objeto referenciados que determina a versão de um método sobreposto que será executada, e não o tipo da variável de referencia;  Se uma superclasse tiver um método sobreposto por uma subclasse, quando diferentes tipos de objetos da subclasse forem referenciados por uma variável de referencia da superclasse, versões distintas do método serão executadas; o EXEMPLO: ExemploHerança10;  No exemplo acima são criadas dus subclasses e uma superclasse. A superclasse declara um método chamado QUEM() e as subclasses o sobrepõem;  No main são declarados objetos e uma referencia;  O programa atribui uma referencia de cada tipo de objeto a supRef e usa essa referencia para chamar QUEM();  A versão de QUEM() executada é determinada pelo tipo de objeto referenciado no momento da chamada, e não pelo tipo de classe. PORQUE SOBREPOR MÉTODOS?  Os métodos sobrepostos permite que JAVA dê suporte ao POLIMORFISMO no tempo de execução;  O POLIMORFISMO é essencial para a programação orientada a objetos;  O POLIMORFISMO permite que uma classe geral especifique métodos que serão comuns a todos os seus derivados;  O POLIMORFISMO permite também que as subclasses definam a implementação específica de alguns desses métodos ou de todos eles;  Os métodos sobrepostos são outra maneira de JAVA implementar o aspecto “UMA INTERFACE, VÁRIOS MÉTODOS”, do polimorfismo;  As superclasses e subclasses formam uma hierarquia que se move da menor para a maior especialização;  A superclasse fornece todos os elementos que uma subclasse pode usar diretamente;  A superclasse especifica os métodos que a classe derivada deve implementar por conta própria;
  • 5. Linguagem de Programação II Ciência da Computação 5  À subclasse é dada a flexibilidade para definir seus próprios métodos, sem deixar de impor a consistência da INTERFACE;  Uma superclasse pode definir a forma geral dos métodos que serão usados por todas as suas subclasses; o EXEMPLO: ExemploHerança11;