SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Programação Orientada a
Objetos
Professor Eng. Ms. Will Roger Pereira
1
Conteúdo
 Herança;
 Programando relacionamentos interclasse:
Generalização;
 Reescrita de métodos.
2
Problematização - Banco
 Imagine diversos serviços criados em um banco;
 Criar uma classe para cada serviço torna o sistema mais
flexível, pois qualquer alteração em um determinado serviço
não causará efeitos colaterais nos outros;
 Mas, por outro lado, essas classes teriam bastante código
repetido, contrariando a ideia do DRY(Don’t repeat yourself);
 Além disso, qualquer alteração que deva ser realizada em
todos os serviços precisa ser implementada em cada uma
das classes.
3
Herança
 A ideia é reutilizar o código de uma determinada classe em
outras classes.
 Aplicando herança:
 Teríamos a classe Servico com os atributos e métodos que
todos os serviços comuns;
 Uma classe para cada serviço com os atributos e métodos
específicos do determinado serviço.
 Como funciona:
 As classes específicas seriam “ligadas” de alguma forma à
classe Servico para reaproveitar o código nela definido.
4
Herança
5
Herança
6
Herança
7
Herança
 Uma relação entre duas classes;
 A classe genérica é chamada de super classe, classe base
ou classe mãe;
 As classes específicas são chamadas de sub classes,
classes derivadas ou classes filhas.
 Significa que “toda classe específica é uma especialização de
classe genérica”;
 Lê-se “toda subclasse é uma superclasse”.
8
Relacionamento - Generalização
 Uma seta triangular de ponta branca liga as duas classes;
 O alvo da seta é a classe superclasse;
 A fonte da seta é uma classe subclasse.
9
subclasse subclasse
superclasse
Herança em Java
 No Java, não é possível que uma subclasse possua duas
superclasses! Não existe herança múltipla.
 Superclasse:
 Nela estarão todos os métodos e atributos comuns às classes
específicas.
 Subclasse:
 A subclasse possui tudo que a superclasse possui, acrescido de
suas especialidades;
10
Subclasse
 As classes específicas são vinculadas a classe genérica
utilizando o comando extends;
 No construtor da subclasse, antes de qualquer ação, é
necessário construir a superclasse utilizando
super(argumentos);
 Para utilizar uma variável ou invocar um método da classe
mãe é utilizada a palavra reservada super (analogamente ao
this).
11
Subclasse
 Como a subclasse herda tudo o que é da superclasse, ou
seja, a superclasse passa a compor a subclasse;
 Não é necessário redefinir o conteúdo já declarado na classe
genérica;
 Assim sendo, this funcionará tanto para elementos da
superclasse quanto da subclasse;
 Quando houver ambiguidade: Utilize o super para se referir a
superclasse e this para se referir a subclasse.
12
Herança:Programando
 Tudo o que estiver em comum na Secretaria e no Gerente irá
na classe Funcionario;
 Suas características e ações específicas irão na sua própria
classe;
 Nos construtores das subclasses, sempre construa a
superclasse!  super(argumentos).
13
Secretaria Gerente
Funcionario
Herança:Programando
14
Herança:Programando
15
Reescrita de Métodos
 Sempre envolverá herança;
 Suponha um método em uma superclasse;
 A subclasse herdará este método, e ele fará parte dela;
 Porém, se este mesmo método tiver outra funcionalidade na
subclasse, é necessário reescrevê-lo.
16
Reescrita de Métodos
 Reescrita de método é definir um método na subclasse, com
mesma assinatura, ou seja, idêntico, que já foi definido na
superclasse.
 LEMBRE-SE DA AMBIGUIDADE!
 Quando houver ambiguidade: Utilize o super para se referir a
superclasse e this para se referir a subclasse.
17
Reescrita de Métodos
18
Reescrita de Métodos
19
Reescrita de Métodos
 Outros exemplos:
 Saudação diferente entre uma Pessoa suas especialidades;
 Bonificações diferentes para Funcionario e Gerente;
 Taxas diferentes para Conta e ContaPoupanca;
 Remuneração diferente entre um Professor e um
ProfessorHorista.
20

Mais conteúdo relacionado

Mais procurados

Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
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 objetosEvandro Agnes
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em javaManoel Afonso
 
The Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignThe Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignVictor Rentea
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgeLorran Pegoretti
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamentoSedu
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratasPedro Neto
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
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
 
Integration testing with spring @snow one
Integration testing with spring @snow oneIntegration testing with spring @snow one
Integration testing with spring @snow oneVictor Rentea
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 

Mais procurados (20)

Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
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
 
Java Lista Exercicios 03
Java Lista Exercicios 03Java Lista Exercicios 03
Java Lista Exercicios 03
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
The Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignThe Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable Design
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamento
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Java persistence api 2.1
Java persistence api 2.1Java persistence api 2.1
Java persistence api 2.1
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
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)
 
Integration testing with spring @snow one
Integration testing with spring @snow oneIntegration testing with spring @snow one
Integration testing with spring @snow one
 
Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 

Destaque

Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasRenato Sousa
 
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)Marcello Thiry
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoRegis Magalhães
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herançaIvan Ricarte
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java Evandro Júnior
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 

Destaque (10)

POO Herança
POO HerançaPOO Herança
POO Herança
 
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
 
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Aula 3.ppt
Aula 3.pptAula 3.ppt
Aula 3.ppt
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herança
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 

Semelhante a HERANÇA - Programação Orientada a Objetos JAVA

Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto AdapterMatheus Andrade
 
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)Ryan Padilha
 
Princípio da da Substituição de Liskov
Princípio da  da Substituição de LiskovPrincípio da  da Substituição de Liskov
Princípio da da Substituição de Liskoveliasor
 
Lsp — the liskov substitution principle
Lsp — the liskov substitution principleLsp — the liskov substitution principle
Lsp — the liskov substitution principleeliasor
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaFernando Camargo
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos - André Victor
 
Livro Código limpo: Classes
Livro Código limpo:  ClassesLivro Código limpo:  Classes
Livro Código limpo: ClassesInael Rodrigues
 
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 à objetosProfessor Samuel Ribeiro
 
05 - Sincronização de Threads - I
05 - Sincronização de Threads - I05 - Sincronização de Threads - I
05 - Sincronização de Threads - IFabio Moura Pereira
 

Semelhante a HERANÇA - Programação Orientada a Objetos JAVA (20)

Herança.pptx
Herança.pptxHerança.pptx
Herança.pptx
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
Aula Herança
Aula HerançaAula Herança
Aula Herança
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto Adapter
 
Padroes de Projeto
Padroes de ProjetoPadroes de Projeto
Padroes de Projeto
 
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)
 
Princípio da da Substituição de Liskov
Princípio da  da Substituição de LiskovPrincípio da  da Substituição de Liskov
Princípio da da Substituição de Liskov
 
Lsp — the liskov substitution principle
Lsp — the liskov substitution principleLsp — the liskov substitution principle
Lsp — the liskov substitution principle
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula 1 5
Aula 1 5Aula 1 5
Aula 1 5
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Herança
HerançaHerança
Herança
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos -
 
Modelo de desenvolvimento de software em 3 camadas para Wordpress
Modelo de desenvolvimento de software em 3 camadas para WordpressModelo de desenvolvimento de software em 3 camadas para Wordpress
Modelo de desenvolvimento de software em 3 camadas para Wordpress
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 
Livro Código limpo: Classes
Livro Código limpo:  ClassesLivro Código limpo:  Classes
Livro Código limpo: Classes
 
Herança
HerançaHerança
Herança
 
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
 
05 - Sincronização de Threads - I
05 - Sincronização de Threads - I05 - Sincronização de Threads - I
05 - Sincronização de Threads - I
 
Heranca
HerancaHeranca
Heranca
 

Mais de Aparicio Junior

Mais de Aparicio Junior (20)

Tips For the TOELF ITP
Tips For the TOELF ITPTips For the TOELF ITP
Tips For the TOELF ITP
 
Mock test structure TOEFL ITP
Mock test structure TOEFL ITPMock test structure TOEFL ITP
Mock test structure TOEFL ITP
 
Mock test reading TOEFL ITP
Mock test reading TOEFL ITPMock test reading TOEFL ITP
Mock test reading TOEFL ITP
 
Mock Test Listening TOEFL ITP
Mock Test Listening TOEFL ITPMock Test Listening TOEFL ITP
Mock Test Listening TOEFL ITP
 
General view of the TOEFL ITP
General view of the TOEFL ITPGeneral view of the TOEFL ITP
General view of the TOEFL ITP
 
Banco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internasBanco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internas
 
Lista 2 5
Lista 2 5Lista 2 5
Lista 2 5
 
Aula sobre Programação Orientada a Objetos em Java
Aula sobre Programação Orientada a Objetos em JavaAula sobre Programação Orientada a Objetos em Java
Aula sobre Programação Orientada a Objetos em Java
 
Lista 2 4
Lista 2 4Lista 2 4
Lista 2 4
 
Aula Programação Orientada a Objetos em Java
Aula Programação Orientada a Objetos em JavaAula Programação Orientada a Objetos em Java
Aula Programação Orientada a Objetos em Java
 
Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
Tutorial instalacão java
Tutorial instalacão javaTutorial instalacão java
Tutorial instalacão java
 
Lista1 3 java
Lista1 3 javaLista1 3 java
Lista1 3 java
 
Lista 2 2 java
Lista 2 2 javaLista 2 2 java
Lista 2 2 java
 
Lista 2 1 java
Lista 2 1 javaLista 2 1 java
Lista 2 1 java
 
Lista 1 9 java
Lista 1 9 javaLista 1 9 java
Lista 1 9 java
 
Lista 1 8 java
Lista 1 8 javaLista 1 8 java
Lista 1 8 java
 
Lista 1 7 java
Lista 1 7 javaLista 1 7 java
Lista 1 7 java
 
Lista 1 6 java
Lista 1 6 javaLista 1 6 java
Lista 1 6 java
 
Lista 1 5 java
Lista 1 5 javaLista 1 5 java
Lista 1 5 java
 

Último

Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPEli Gonçalves
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasrfmbrandao
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxgia0123
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 

Último (20)

Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 

HERANÇA - Programação Orientada a Objetos JAVA

  • 1. Programação Orientada a Objetos Professor Eng. Ms. Will Roger Pereira 1
  • 2. Conteúdo  Herança;  Programando relacionamentos interclasse: Generalização;  Reescrita de métodos. 2
  • 3. Problematização - Banco  Imagine diversos serviços criados em um banco;  Criar uma classe para cada serviço torna o sistema mais flexível, pois qualquer alteração em um determinado serviço não causará efeitos colaterais nos outros;  Mas, por outro lado, essas classes teriam bastante código repetido, contrariando a ideia do DRY(Don’t repeat yourself);  Além disso, qualquer alteração que deva ser realizada em todos os serviços precisa ser implementada em cada uma das classes. 3
  • 4. Herança  A ideia é reutilizar o código de uma determinada classe em outras classes.  Aplicando herança:  Teríamos a classe Servico com os atributos e métodos que todos os serviços comuns;  Uma classe para cada serviço com os atributos e métodos específicos do determinado serviço.  Como funciona:  As classes específicas seriam “ligadas” de alguma forma à classe Servico para reaproveitar o código nela definido. 4
  • 8. Herança  Uma relação entre duas classes;  A classe genérica é chamada de super classe, classe base ou classe mãe;  As classes específicas são chamadas de sub classes, classes derivadas ou classes filhas.  Significa que “toda classe específica é uma especialização de classe genérica”;  Lê-se “toda subclasse é uma superclasse”. 8
  • 9. Relacionamento - Generalização  Uma seta triangular de ponta branca liga as duas classes;  O alvo da seta é a classe superclasse;  A fonte da seta é uma classe subclasse. 9 subclasse subclasse superclasse
  • 10. Herança em Java  No Java, não é possível que uma subclasse possua duas superclasses! Não existe herança múltipla.  Superclasse:  Nela estarão todos os métodos e atributos comuns às classes específicas.  Subclasse:  A subclasse possui tudo que a superclasse possui, acrescido de suas especialidades; 10
  • 11. Subclasse  As classes específicas são vinculadas a classe genérica utilizando o comando extends;  No construtor da subclasse, antes de qualquer ação, é necessário construir a superclasse utilizando super(argumentos);  Para utilizar uma variável ou invocar um método da classe mãe é utilizada a palavra reservada super (analogamente ao this). 11
  • 12. Subclasse  Como a subclasse herda tudo o que é da superclasse, ou seja, a superclasse passa a compor a subclasse;  Não é necessário redefinir o conteúdo já declarado na classe genérica;  Assim sendo, this funcionará tanto para elementos da superclasse quanto da subclasse;  Quando houver ambiguidade: Utilize o super para se referir a superclasse e this para se referir a subclasse. 12
  • 13. Herança:Programando  Tudo o que estiver em comum na Secretaria e no Gerente irá na classe Funcionario;  Suas características e ações específicas irão na sua própria classe;  Nos construtores das subclasses, sempre construa a superclasse!  super(argumentos). 13 Secretaria Gerente Funcionario
  • 16. Reescrita de Métodos  Sempre envolverá herança;  Suponha um método em uma superclasse;  A subclasse herdará este método, e ele fará parte dela;  Porém, se este mesmo método tiver outra funcionalidade na subclasse, é necessário reescrevê-lo. 16
  • 17. Reescrita de Métodos  Reescrita de método é definir um método na subclasse, com mesma assinatura, ou seja, idêntico, que já foi definido na superclasse.  LEMBRE-SE DA AMBIGUIDADE!  Quando houver ambiguidade: Utilize o super para se referir a superclasse e this para se referir a subclasse. 17
  • 20. Reescrita de Métodos  Outros exemplos:  Saudação diferente entre uma Pessoa suas especialidades;  Bonificações diferentes para Funcionario e Gerente;  Taxas diferentes para Conta e ContaPoupanca;  Remuneração diferente entre um Professor e um ProfessorHorista. 20