SlideShare a Scribd company logo
1 of 25
HERANÇA
ORIENTAÇÃO A OBJETOS
PROFº MAURO LADEIA
O QUE É HERANÇA?
Na programação modular existe uma técnica
chamada Herança que é utilizada para reuso,
evitando a repetição de um mesmo trecho de código
que faz as mesmas coisas em diversos lugares no
código, ajudando então na boa prática de deixar o
código mais objetivo e limpo.
O QUE É HERANÇA?
Herança é um princípio de orientação a objetos, que permite
que classes compartilhem atributos e métodos, através de
"heranças". Ela é usada na intenção de reaproveitar código ou
comportamento generalizado ou especializar operações ou
atributos.
• Os atributos e métodos são herdados por todos os objetos
dos níveis mais baixos considerando o modificador de
acesso.
• Diferentes subclasses podem herdar as características de
uma superclasse.
O QUE É HERANÇA?
A Herança possibilita que as classes compartilhem seus atributos,
métodos e outros membros da classe entre si. Para a ligação entre as
classes, a herança adota um relacionamento esquematizado
hierarquicamente.
Na Herança temos dois tipos principais de classe:
Classe Base: A classe que concede as características a uma outra classe.
Classe Derivada: A classe que herda as características da classe base.
SUPERCLASSE E SUBCLASSE
Outra Terminologia utilizada:
• Superclasses (pai): Classes mais
genéricas que devem guardar
membros em comum.
• Subclasses (filha): Classes
especializadas que acrescentam
novos membros, especializando a
classe.
SUPERCLASSE E SUBCLASSE
SUPERCLASSE E SUBCLASSE
SUPERCLASSE E SUBCLASSE
EXEMPLO SIMPLIFICADO
Um exemplo básico para entender o conceito seria: Um
cachorro e um homem, embora obviamente se diferem,
possuem uma característica em comum: são mamíferos,
eu não preciso repetir essa mesma informação se eu
posso reutilizá-la. Assim como um beija-flor e uma galinha
são aves, ou seja, possuem algo em comum. Em um
nível mais acima, podemos concluir que cachorro,
homem, beija-flor e galinha possuem algo em comum:
ambos são animais. Sempre um vai recuperando as
informações do outro.
EXEMPLO SIMPLIFICADO
EXEMPLO SIMPLIFICADO
Todos os Trabalhadores da Empresa são
considerados Funcionários e tem funções
(Métodos) e Características (Atributos) em
comum. Porém cada um pode ter suas
funções e características específicas
EXEMPLO SIMPLIFICADO
PRINCIPAIS BENEFÍCIOS
• Reutilização de código uma vez que as similaridades
são compartilhadas e as diferenças preservadas.
• Facilitação da manutenção do sistema trazendo
maior legibilidade do código existente, quantidade
menor de linhas de código e alterações em poucas
partes do código.
HERANÇA SIMPLES
• Provavelmente a herança simples seja a mais utilizada,
mesmo porque linguagens como o JAVA aceitam somente
ela. Ou seja, não tem como ter herança por cima de
herança, bom, pelo menos não sem usar alguns artifícios.
• Um exemplo pode ser visto abaixo: um veículo pode ser
tanto um carro, quanto uma moto. O veículo seria a
superclasse enquanto as demais uma subclasse que vai
herdar todas as propriedades da superclasse.
HERANÇA SIMPLES
HERANÇA SIMPLES
• No entanto, uma herança pode herdar outra. Por
exemplo, existem vários tipos de carro: hatch,
sedan, caminhonete, SUV, entre outros. É possível
criar uma classe para representar um carro SUV que
vai herdar as propriedades de: Carro e Veículo. Ou
seja: SUV é um Carro que é um Veículo.
HERANÇA SIMPLES
HERANÇA MÚLTIPLA
• Não irei abordar esse assunto neste tópico, no
entanto, linguagens como o C++ permite que uma
subclasse herde de mais de uma superclasse,
diferentemente do JAVA que possui somente a
possibilidade de simular tal cenário através de
interfaces.
HERANÇA MÚLTIPLA
• Um exemplo de herança múltipla pode ser vista no
exemplo a seguir onde uma pessoa pode ser um
empregado ou estudante. Além disso, um
empregado pode ser gerente ou vendedor, mas um
gerente de vendas é um vendedor ao mesmo
tempo que é um gerente.
HERANÇA MÚLTIPLA
• Vale ressaltar que utilizar herança múltipla pode
dificultar a manutenção do sistema assim como seu
entendimento, reduzindo a modularização.
HERANÇA MÚLTIPLA
EXERCÍCIO
1. Tendo como exemplo a tabela abaixo, criar uma tabela
semelhante apresentando outros exemplos de Herança,
identificando a super classe e pelo menos 3 subclasses
EXERCÍCIO
2. Criar 3 Diagramas apresentando situações de Herança
apresentando ao menos 1 superclasse para cada e 3 subclasses (Não
vale utilizar os utilizados no exercício anterior)
3. Criar um Diagrama apresentando uma situação de Herança
Múltipla diferente do exemplo apresentado nesse material
BIBLIOGRAFIA
• https://pt.wikipedia.org/wiki/Heran%C3%A7a_(programa%C3%A7%C3%A3o_orientada_a_objetos)#:~:t
ext=Heran%C3%A7a%20%C3%A9%20um%20princ%C3%ADpio%20de,%C3%A9%20conhecido%20como
%20heran%C3%A7a%20m%C3%BAltipla.
• https://www.devmedia.com.br/conceitos-e-exemplos-heranca-programacao-orientada-a-objetos-parte-
1/18579
• https://blog.grancursosonline.com.br/heranca-na-programacao-orientada-a-objetos/
• https://www.dca.fee.unicamp.br/cursos/PooJava/heranca/index.html
• https://www.inf.ufsc.br/~frank.siqueira/INE5605/9.Heranca.pdf
• https://medium.com/caiquefortunato/heran%C3%A7a-em-java-teoria-e-pr%C3%A1tica-2ca7d9b0f3de

More Related Content

Similar to Apresentação sobre Herança - Orientação a Objetos

Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos phpsecomp2011
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaWanderlei Silva do Carmo
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoJuciellen Cabrera
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5oliveiraprog
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04Antonio Alves
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesMaria Alice Jovinski
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfAndreCosta502039
 

Similar to Apresentação sobre Herança - Orientação a Objetos (20)

Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no código
 
POO Herança
POO HerançaPOO Herança
POO Herança
 
Interface
InterfaceInterface
Interface
 
Strategy pattern
Strategy patternStrategy pattern
Strategy pattern
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
Herança
HerançaHerança
Herança
 
Curso
CursoCurso
Curso
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e Classes
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 

More from mauroladeiafilho

Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosmauroladeiafilho
 
Canais de Percepção. Aprenda o que são e sua importância
Canais de Percepção. Aprenda o que são e sua importânciaCanais de Percepção. Aprenda o que são e sua importância
Canais de Percepção. Aprenda o que são e sua importânciamauroladeiafilho
 
O que é Bachata, estulo de dança da américa central
O que é Bachata, estulo de dança da américa centralO que é Bachata, estulo de dança da américa central
O que é Bachata, estulo de dança da américa centralmauroladeiafilho
 
Cidadania, trabalho e condições do cotidiano.pptx
Cidadania, trabalho e condições do cotidiano.pptxCidadania, trabalho e condições do cotidiano.pptx
Cidadania, trabalho e condições do cotidiano.pptxmauroladeiafilho
 
Principais Atalhos do Windows.pptx
Principais Atalhos do Windows.pptxPrincipais Atalhos do Windows.pptx
Principais Atalhos do Windows.pptxmauroladeiafilho
 
O Uso da Tecnologia na Organização de Eventos
O Uso da Tecnologia na Organização de EventosO Uso da Tecnologia na Organização de Eventos
O Uso da Tecnologia na Organização de Eventosmauroladeiafilho
 
Como criar uma boa apresentação
Como criar uma boa apresentaçãoComo criar uma boa apresentação
Como criar uma boa apresentaçãomauroladeiafilho
 
Buscas Avançadas no Google
Buscas Avançadas no GoogleBuscas Avançadas no Google
Buscas Avançadas no Googlemauroladeiafilho
 
O Uso da Tecnologia em nosso Cotidiano.pptx
O Uso da Tecnologia em nosso Cotidiano.pptxO Uso da Tecnologia em nosso Cotidiano.pptx
O Uso da Tecnologia em nosso Cotidiano.pptxmauroladeiafilho
 

More from mauroladeiafilho (11)

Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
 
Canais de Percepção. Aprenda o que são e sua importância
Canais de Percepção. Aprenda o que são e sua importânciaCanais de Percepção. Aprenda o que são e sua importância
Canais de Percepção. Aprenda o que são e sua importância
 
O que é Bachata, estulo de dança da américa central
O que é Bachata, estulo de dança da américa centralO que é Bachata, estulo de dança da américa central
O que é Bachata, estulo de dança da américa central
 
Cidadania, trabalho e condições do cotidiano.pptx
Cidadania, trabalho e condições do cotidiano.pptxCidadania, trabalho e condições do cotidiano.pptx
Cidadania, trabalho e condições do cotidiano.pptx
 
Principais Atalhos do Windows.pptx
Principais Atalhos do Windows.pptxPrincipais Atalhos do Windows.pptx
Principais Atalhos do Windows.pptx
 
O Uso da Tecnologia na Organização de Eventos
O Uso da Tecnologia na Organização de EventosO Uso da Tecnologia na Organização de Eventos
O Uso da Tecnologia na Organização de Eventos
 
Como criar uma boa apresentação
Como criar uma boa apresentaçãoComo criar uma boa apresentação
Como criar uma boa apresentação
 
O que é Ética
O que é ÉticaO que é Ética
O que é Ética
 
Buscas Avançadas no Google
Buscas Avançadas no GoogleBuscas Avançadas no Google
Buscas Avançadas no Google
 
O Uso da Tecnologia em nosso Cotidiano.pptx
O Uso da Tecnologia em nosso Cotidiano.pptxO Uso da Tecnologia em nosso Cotidiano.pptx
O Uso da Tecnologia em nosso Cotidiano.pptx
 
O que é Ética.pptx
O que é Ética.pptxO que é Ética.pptx
O que é Ética.pptx
 

Apresentação sobre Herança - Orientação a Objetos

  • 2.
  • 3. O QUE É HERANÇA? Na programação modular existe uma técnica chamada Herança que é utilizada para reuso, evitando a repetição de um mesmo trecho de código que faz as mesmas coisas em diversos lugares no código, ajudando então na boa prática de deixar o código mais objetivo e limpo.
  • 4. O QUE É HERANÇA? Herança é um princípio de orientação a objetos, que permite que classes compartilhem atributos e métodos, através de "heranças". Ela é usada na intenção de reaproveitar código ou comportamento generalizado ou especializar operações ou atributos. • Os atributos e métodos são herdados por todos os objetos dos níveis mais baixos considerando o modificador de acesso. • Diferentes subclasses podem herdar as características de uma superclasse.
  • 5. O QUE É HERANÇA? A Herança possibilita que as classes compartilhem seus atributos, métodos e outros membros da classe entre si. Para a ligação entre as classes, a herança adota um relacionamento esquematizado hierarquicamente. Na Herança temos dois tipos principais de classe: Classe Base: A classe que concede as características a uma outra classe. Classe Derivada: A classe que herda as características da classe base.
  • 6. SUPERCLASSE E SUBCLASSE Outra Terminologia utilizada: • Superclasses (pai): Classes mais genéricas que devem guardar membros em comum. • Subclasses (filha): Classes especializadas que acrescentam novos membros, especializando a classe.
  • 10. EXEMPLO SIMPLIFICADO Um exemplo básico para entender o conceito seria: Um cachorro e um homem, embora obviamente se diferem, possuem uma característica em comum: são mamíferos, eu não preciso repetir essa mesma informação se eu posso reutilizá-la. Assim como um beija-flor e uma galinha são aves, ou seja, possuem algo em comum. Em um nível mais acima, podemos concluir que cachorro, homem, beija-flor e galinha possuem algo em comum: ambos são animais. Sempre um vai recuperando as informações do outro.
  • 12. EXEMPLO SIMPLIFICADO Todos os Trabalhadores da Empresa são considerados Funcionários e tem funções (Métodos) e Características (Atributos) em comum. Porém cada um pode ter suas funções e características específicas
  • 14. PRINCIPAIS BENEFÍCIOS • Reutilização de código uma vez que as similaridades são compartilhadas e as diferenças preservadas. • Facilitação da manutenção do sistema trazendo maior legibilidade do código existente, quantidade menor de linhas de código e alterações em poucas partes do código.
  • 15. HERANÇA SIMPLES • Provavelmente a herança simples seja a mais utilizada, mesmo porque linguagens como o JAVA aceitam somente ela. Ou seja, não tem como ter herança por cima de herança, bom, pelo menos não sem usar alguns artifícios. • Um exemplo pode ser visto abaixo: um veículo pode ser tanto um carro, quanto uma moto. O veículo seria a superclasse enquanto as demais uma subclasse que vai herdar todas as propriedades da superclasse.
  • 17. HERANÇA SIMPLES • No entanto, uma herança pode herdar outra. Por exemplo, existem vários tipos de carro: hatch, sedan, caminhonete, SUV, entre outros. É possível criar uma classe para representar um carro SUV que vai herdar as propriedades de: Carro e Veículo. Ou seja: SUV é um Carro que é um Veículo.
  • 19. HERANÇA MÚLTIPLA • Não irei abordar esse assunto neste tópico, no entanto, linguagens como o C++ permite que uma subclasse herde de mais de uma superclasse, diferentemente do JAVA que possui somente a possibilidade de simular tal cenário através de interfaces.
  • 20. HERANÇA MÚLTIPLA • Um exemplo de herança múltipla pode ser vista no exemplo a seguir onde uma pessoa pode ser um empregado ou estudante. Além disso, um empregado pode ser gerente ou vendedor, mas um gerente de vendas é um vendedor ao mesmo tempo que é um gerente.
  • 21. HERANÇA MÚLTIPLA • Vale ressaltar que utilizar herança múltipla pode dificultar a manutenção do sistema assim como seu entendimento, reduzindo a modularização.
  • 23. EXERCÍCIO 1. Tendo como exemplo a tabela abaixo, criar uma tabela semelhante apresentando outros exemplos de Herança, identificando a super classe e pelo menos 3 subclasses
  • 24. EXERCÍCIO 2. Criar 3 Diagramas apresentando situações de Herança apresentando ao menos 1 superclasse para cada e 3 subclasses (Não vale utilizar os utilizados no exercício anterior) 3. Criar um Diagrama apresentando uma situação de Herança Múltipla diferente do exemplo apresentado nesse material
  • 25. BIBLIOGRAFIA • https://pt.wikipedia.org/wiki/Heran%C3%A7a_(programa%C3%A7%C3%A3o_orientada_a_objetos)#:~:t ext=Heran%C3%A7a%20%C3%A9%20um%20princ%C3%ADpio%20de,%C3%A9%20conhecido%20como %20heran%C3%A7a%20m%C3%BAltipla. • https://www.devmedia.com.br/conceitos-e-exemplos-heranca-programacao-orientada-a-objetos-parte- 1/18579 • https://blog.grancursosonline.com.br/heranca-na-programacao-orientada-a-objetos/ • https://www.dca.fee.unicamp.br/cursos/PooJava/heranca/index.html • https://www.inf.ufsc.br/~frank.siqueira/INE5605/9.Heranca.pdf • https://medium.com/caiquefortunato/heran%C3%A7a-em-java-teoria-e-pr%C3%A1tica-2ca7d9b0f3de