Apresentação da Aula
Professor João Marcos
Livros Recomendados
Revisão de Orientada a Objetos
Introdução a Conceitos
Orientação a Objetos: Herança
Superposição de atributos e métodos
Herança e Generalização
Classes Abstratas
Exemplo Prático de Herança em Java
Exemplo Prático de Herança com Classe Abstrata em Java
Pensando um Pouco
Exercícios
Referências
Agradecimentos
Sanando Dúvidas
Este documento fornece uma introdução aos conceitos fundamentais de programação orientada a objetos. Discute os conceitos de modelo, classe, objeto e estrutura de uma classe, incluindo campos, construtores e métodos. Fornece exemplos de como esses conceitos se aplicam na modelagem do mundo real.
O documento apresenta os principais conceitos da programação orientada a objetos, incluindo classe, objeto, método, herança, encapsulamento, abstração, polimorfismo e interface. Explora como POO modela o mundo real através de objetos que encapsulam dados e comportamentos.
Caderno DS - Programação Web Orientada a Objetos [EAD Regular 2019.2 - ETEPAC...RMartinxxx
É com satisfação que dou a vocês as boas-vindas à disciplina de Programação Web
Orientada a Objetos. Os assuntos que serão tratados nesta disciplina fazem parte de uma área da
informática conhecida como Desenvolvimento de Software e envolvem a solução de problemas
através construção de algoritmos que utilizam o paradigma orientado a objetos.
O nosso caderno possui quatro competências. Na primeira vocês aprenderão sobre o
surgimento e a importância da programação orientada a objetos, além disso também será
apresentado um comparativo entre o paradigma orientado a objetos e o paradigma estruturado, e
por fim são mostrados os principais conceitos da programação orientada a objetos. Todos os
exemplos ilustrados estão relacionados à aplicação RestauranteFomeZero (fictícia criada pelos
autores) que será construída e explicada ao longo das competências utilizando a linguagem PHP.
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...Thiago Reis da Silva
O documento descreve a defesa de dissertação de mestrado de Thiago Reis da Silva sobre o OBA-MC, um modelo de objeto de aprendizagem centrado no processo de ensino-aprendizagem para o Moodle. O resumo apresenta o tema, o mestrando e a banca examinadora, composta pelo orientador e três membros. O documento também fornece o roteiro da defesa, incluindo a introdução, o referencial teórico e detalhes sobre o OBA-MC.
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
Fundamentos da Programação 13:
• Polimorfismo de subtipos
• Análise, desenho e implementação
Apresentação 13 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Capítulo 04 - Persistência de dados com SQLiteMarcio Palheta
Este capítulo discute a persistência de dados no Android usando o banco de dados SQLite. Inicialmente, é apresentado o padrão MVC e como ele se aplica na arquitetura do aplicativo. Em seguida, é criada uma classe para representar a entidade Aluno e um helper para extrair dados da tela e popular objetos Aluno. Por fim, é implementada a classe AlunoDAO responsável por realizar operações CRUD no banco utilizando o SQLite.
Este documento fornece uma introdução aos conceitos fundamentais de programação orientada a objetos. Discute os conceitos de modelo, classe, objeto e estrutura de uma classe, incluindo campos, construtores e métodos. Fornece exemplos de como esses conceitos se aplicam na modelagem do mundo real.
O documento apresenta os principais conceitos da programação orientada a objetos, incluindo classe, objeto, método, herança, encapsulamento, abstração, polimorfismo e interface. Explora como POO modela o mundo real através de objetos que encapsulam dados e comportamentos.
Caderno DS - Programação Web Orientada a Objetos [EAD Regular 2019.2 - ETEPAC...RMartinxxx
É com satisfação que dou a vocês as boas-vindas à disciplina de Programação Web
Orientada a Objetos. Os assuntos que serão tratados nesta disciplina fazem parte de uma área da
informática conhecida como Desenvolvimento de Software e envolvem a solução de problemas
através construção de algoritmos que utilizam o paradigma orientado a objetos.
O nosso caderno possui quatro competências. Na primeira vocês aprenderão sobre o
surgimento e a importância da programação orientada a objetos, além disso também será
apresentado um comparativo entre o paradigma orientado a objetos e o paradigma estruturado, e
por fim são mostrados os principais conceitos da programação orientada a objetos. Todos os
exemplos ilustrados estão relacionados à aplicação RestauranteFomeZero (fictícia criada pelos
autores) que será construída e explicada ao longo das competências utilizando a linguagem PHP.
OBA-MC: um modelo de objeto de aprendizagem centrado no processo de ensino-ap...Thiago Reis da Silva
O documento descreve a defesa de dissertação de mestrado de Thiago Reis da Silva sobre o OBA-MC, um modelo de objeto de aprendizagem centrado no processo de ensino-aprendizagem para o Moodle. O resumo apresenta o tema, o mestrando e a banca examinadora, composta pelo orientador e três membros. O documento também fornece o roteiro da defesa, incluindo a introdução, o referencial teórico e detalhes sobre o OBA-MC.
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
Fundamentos da Programação 13:
• Polimorfismo de subtipos
• Análise, desenho e implementação
Apresentação 13 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Capítulo 04 - Persistência de dados com SQLiteMarcio Palheta
Este capítulo discute a persistência de dados no Android usando o banco de dados SQLite. Inicialmente, é apresentado o padrão MVC e como ele se aplica na arquitetura do aplicativo. Em seguida, é criada uma classe para representar a entidade Aluno e um helper para extrair dados da tela e popular objetos Aluno. Por fim, é implementada a classe AlunoDAO responsável por realizar operações CRUD no banco utilizando o SQLite.
Projeto graphmatica e o ensino de funções no ensino médiocolegiocpf
Este projeto propõe o uso do software Graphmática para ensinar funções do 1o ano do ensino médio. O objetivo é mostrar como a tecnologia pode contribuir para a aprendizagem de funções, especialmente funções afins e quadráticas. As atividades serão realizadas em sala de aula ou em casa e seguirão um cronograma com seis aulas práticas utilizando exercícios progressivamente mais desafiadores.
Aula teórica 1 da unidade (disciplina) de Programação Orientada por Objectos dos cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
Projeto de Educação Matemática: Ensino de Matrizes e Grafos.profmatleandro
Este projeto ensina sobre matrizes e grafos usando um exemplo prático de malhas aéreas. Os alunos aprenderão a representar e analisar rotas de voo usando matrizes e como reduzir o número de voos mantendo a demanda. Eles também explorarão conceitos de grafos e terão a oportunidade de resolver problemas simulando a alocação de voos e aeroportos.
O documento discute mecanismos de reutilização de código em programação orientada a objetos, especificamente composição e herança. A composição permite que uma classe utilize instâncias de outras classes, enquanto a herança permite que novas classes sejam criadas como extensões de classes existentes. Exemplos ilustram como essas técnicas podem ser aplicadas em Java.
Este documento fornece uma introdução aos principais conceitos da programação orientada a objetos (POO) em Java, incluindo classe, objeto, método, herança, encapsulamento, abstração e polimorfismo. O documento também discute interfaces e como POO permite modelar o mundo real através de objetos que interagem entre si.
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
Características da Programação Orientada por Objetos (POO).
Conceito de Classe, Atributos, Métodos, e Eventos.
Conceito de Objeto.
Conceito de Encapsulamento.
Conceito de Visibilidade de Classes, Métodos e Atributos.
Diagramas de Classe.
O ambiente de trabalho do Visual C#.
Objetos básicos e outras características básicas da linguagem do Visual C# e respetivo ambiente de trabalho.
Este documento apresenta as notas de aula da disciplina Linguagem de Programação III ministrada pelo professor Juliano Gomes Weber. O documento introduz os tópicos que serão abordados na disciplina, como programação orientada a objetos, banco de dados e programação para a web. Também apresenta o professor e discute a sistemática de avaliação da disciplina.
O documento descreve um modelo proposto para apoiar a mobilidade de estudantes no âmbito do Processo de Bolonha utilizando a Web Semântica. O modelo é composto por três partes principais: registo académico, plano do curso e plano individual de estudos. Foi desenvolvido um demonstrador para avaliar o modelo através de casos de uso como mudança de curso e transferência.
Elerning em contexto de Realidade AumentadaCarlos Amorim
Este documento apresenta uma pesquisa sobre o uso de realidade aumentada no contexto de eLearning e formação profissional. O objetivo geral é analisar o contributo do "eLearning em contexto de realidade aumentada" na formação profissional. O estudo inclui o desenvolvimento de um protótipo de aplicação de realidade aumentada para testar o impacto na motivação dos alunos e na aprendizagem. Os resultados dos questionários aplicados indicam que a realidade aumentada pode melhorar a motivação dos alunos e facilitar a compreensão dos conteúdos.
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
O documento discute conceitos fundamentais da programação orientada a objetos, incluindo objetos, classes, atributos, métodos, herança, encapsulamento e polimorfismo. Classes descrevem objetos e seus tipos, enquanto atributos e métodos especificam suas propriedades e comportamentos. A herança permite a reutilização de código entre classes relacionadas, e o encapsulamento esconde detalhes de implementação.
A Utilização da Plataforma Joomla! na EscolaJorge Borges
1) O documento descreve uma pesquisa sobre o uso da plataforma Joomla em escolas.
2) A pesquisa avaliou as principais funcionalidades do Joomla e seu potencial para facilitar o trabalho dos professores.
3) Os resultados indicaram que o Joomla oferece vantagens em relação a sites tradicionais, como atualizações mais fáceis, e pode facilitar a colaboração.
O documento discute programação orientada a objetos. Resume os principais pontos como: 1) POO é um paradigma de programação baseado na composição e interação entre objetos; 2) Na POO classes definem objetos com atributos e métodos; 3) Encapsulamento, alta coesão e baixo acoplamento são características importantes de classes.
O documento apresenta um curso sobre informática educativa utilizando o software Winplot. O curso terá dois encontros abordando o programa, funções explícitas, equações e atividades complementares avaliadas por relatórios em vez de notas.
O documento discute o conceito de Learning Design (LD), que descreve cenários pedagógicos centrados nas atividades dos alunos. O LD modela processos, conteúdos e serviços de forma independente da tecnologia para auxiliar na qualidade, organização e reuso de conteúdos. A implementação do LD como padrão global é o IMS Learning Design, que permite descrever diversas metodologias de ensino de forma semântica.
O documento descreve um sistema acadêmico para organizar uma instituição de ensino. Ele inclui descrições do mundo real, objetivos da aplicação, entidades, atributos, relacionamentos, regras de negócio, modelo lógico e implementação usando PHP, MySQL, Bootstrap e padrão MVC.
O documento discute os conceitos fundamentais de orientação a objetos em Java, incluindo: 1) Definições de classes, objetos, encapsulamento e herança; 2) Como criar objetos a partir de classes e compartilhar dados entre objetos; 3) Como definir métodos e construtores em classes.
O documento apresenta um resumo sobre orientação a objetos em PHP, abordando tópicos como: classes, atributos, métodos, encapsulamento, herança, instanciação de objetos, conversão para string e referência vs clonagem.
Este documento apresenta um resumo sobre o paradigma de programação orientado a objetos. Ele discute conceitos-chave como objetos, classes, herança e polimorfismo. Também apresenta exemplos em C++, incluindo declaração de classes, construtores, métodos, herança e templates.
O documento descreve a Linguagem de Modelagem Unificada (UML), incluindo uma introdução à orientação a objetos, os principais elementos da UML como classes, objetos, atributos, métodos, relacionamentos e herança, e exemplos de como modelar sistemas usando a UML.
Contenu connexe
Similaire à Aula de Orientação a Objetos - Herança com Java
Projeto graphmatica e o ensino de funções no ensino médiocolegiocpf
Este projeto propõe o uso do software Graphmática para ensinar funções do 1o ano do ensino médio. O objetivo é mostrar como a tecnologia pode contribuir para a aprendizagem de funções, especialmente funções afins e quadráticas. As atividades serão realizadas em sala de aula ou em casa e seguirão um cronograma com seis aulas práticas utilizando exercícios progressivamente mais desafiadores.
Aula teórica 1 da unidade (disciplina) de Programação Orientada por Objectos dos cursos de LIGE, LEI e LETI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.
Projeto de Educação Matemática: Ensino de Matrizes e Grafos.profmatleandro
Este projeto ensina sobre matrizes e grafos usando um exemplo prático de malhas aéreas. Os alunos aprenderão a representar e analisar rotas de voo usando matrizes e como reduzir o número de voos mantendo a demanda. Eles também explorarão conceitos de grafos e terão a oportunidade de resolver problemas simulando a alocação de voos e aeroportos.
O documento discute mecanismos de reutilização de código em programação orientada a objetos, especificamente composição e herança. A composição permite que uma classe utilize instâncias de outras classes, enquanto a herança permite que novas classes sejam criadas como extensões de classes existentes. Exemplos ilustram como essas técnicas podem ser aplicadas em Java.
Este documento fornece uma introdução aos principais conceitos da programação orientada a objetos (POO) em Java, incluindo classe, objeto, método, herança, encapsulamento, abstração e polimorfismo. O documento também discute interfaces e como POO permite modelar o mundo real através de objetos que interagem entre si.
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
Características da Programação Orientada por Objetos (POO).
Conceito de Classe, Atributos, Métodos, e Eventos.
Conceito de Objeto.
Conceito de Encapsulamento.
Conceito de Visibilidade de Classes, Métodos e Atributos.
Diagramas de Classe.
O ambiente de trabalho do Visual C#.
Objetos básicos e outras características básicas da linguagem do Visual C# e respetivo ambiente de trabalho.
Este documento apresenta as notas de aula da disciplina Linguagem de Programação III ministrada pelo professor Juliano Gomes Weber. O documento introduz os tópicos que serão abordados na disciplina, como programação orientada a objetos, banco de dados e programação para a web. Também apresenta o professor e discute a sistemática de avaliação da disciplina.
O documento descreve um modelo proposto para apoiar a mobilidade de estudantes no âmbito do Processo de Bolonha utilizando a Web Semântica. O modelo é composto por três partes principais: registo académico, plano do curso e plano individual de estudos. Foi desenvolvido um demonstrador para avaliar o modelo através de casos de uso como mudança de curso e transferência.
Elerning em contexto de Realidade AumentadaCarlos Amorim
Este documento apresenta uma pesquisa sobre o uso de realidade aumentada no contexto de eLearning e formação profissional. O objetivo geral é analisar o contributo do "eLearning em contexto de realidade aumentada" na formação profissional. O estudo inclui o desenvolvimento de um protótipo de aplicação de realidade aumentada para testar o impacto na motivação dos alunos e na aprendizagem. Os resultados dos questionários aplicados indicam que a realidade aumentada pode melhorar a motivação dos alunos e facilitar a compreensão dos conteúdos.
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
O documento discute conceitos fundamentais da programação orientada a objetos, incluindo objetos, classes, atributos, métodos, herança, encapsulamento e polimorfismo. Classes descrevem objetos e seus tipos, enquanto atributos e métodos especificam suas propriedades e comportamentos. A herança permite a reutilização de código entre classes relacionadas, e o encapsulamento esconde detalhes de implementação.
A Utilização da Plataforma Joomla! na EscolaJorge Borges
1) O documento descreve uma pesquisa sobre o uso da plataforma Joomla em escolas.
2) A pesquisa avaliou as principais funcionalidades do Joomla e seu potencial para facilitar o trabalho dos professores.
3) Os resultados indicaram que o Joomla oferece vantagens em relação a sites tradicionais, como atualizações mais fáceis, e pode facilitar a colaboração.
O documento discute programação orientada a objetos. Resume os principais pontos como: 1) POO é um paradigma de programação baseado na composição e interação entre objetos; 2) Na POO classes definem objetos com atributos e métodos; 3) Encapsulamento, alta coesão e baixo acoplamento são características importantes de classes.
O documento apresenta um curso sobre informática educativa utilizando o software Winplot. O curso terá dois encontros abordando o programa, funções explícitas, equações e atividades complementares avaliadas por relatórios em vez de notas.
O documento discute o conceito de Learning Design (LD), que descreve cenários pedagógicos centrados nas atividades dos alunos. O LD modela processos, conteúdos e serviços de forma independente da tecnologia para auxiliar na qualidade, organização e reuso de conteúdos. A implementação do LD como padrão global é o IMS Learning Design, que permite descrever diversas metodologias de ensino de forma semântica.
O documento descreve um sistema acadêmico para organizar uma instituição de ensino. Ele inclui descrições do mundo real, objetivos da aplicação, entidades, atributos, relacionamentos, regras de negócio, modelo lógico e implementação usando PHP, MySQL, Bootstrap e padrão MVC.
O documento discute os conceitos fundamentais de orientação a objetos em Java, incluindo: 1) Definições de classes, objetos, encapsulamento e herança; 2) Como criar objetos a partir de classes e compartilhar dados entre objetos; 3) Como definir métodos e construtores em classes.
O documento apresenta um resumo sobre orientação a objetos em PHP, abordando tópicos como: classes, atributos, métodos, encapsulamento, herança, instanciação de objetos, conversão para string e referência vs clonagem.
Este documento apresenta um resumo sobre o paradigma de programação orientado a objetos. Ele discute conceitos-chave como objetos, classes, herança e polimorfismo. Também apresenta exemplos em C++, incluindo declaração de classes, construtores, métodos, herança e templates.
O documento descreve a Linguagem de Modelagem Unificada (UML), incluindo uma introdução à orientação a objetos, os principais elementos da UML como classes, objetos, atributos, métodos, relacionamentos e herança, e exemplos de como modelar sistemas usando a UML.
Similaire à Aula de Orientação a Objetos - Herança com Java (20)
2. 19/03/2024 2
Programação Orientada a Objetos
Ementa da Aula
Apresentação da Aula
Professor João Marcos
Livros Recomendados
Revisão de Orientada a Objetos
Introdução a Conceitos
Orientação a Objetos: Herança
Superposição de atributos e métodos
Herança e Generalização
Classes Abstratas
Exemplo Prático de Herança em Java
Exemplo Prático de Herança com Classe
Abstrata em Java
Pensando um Pouco
Exercícios
Referências
Agradecimentos
Sanando Dúvidas
3. Professor João Marcos
3
Formação:
• Pós-graduação em Engenharia de
Software, Descomplica Faculdade
Digital Descomplica, Cursando.
• Pós-graduação em Redes e
Segurança de Sistemas de
Informação, Faculdade Sapiens,
2014 – 2015, Concluído.
• Pós-Graduação em Metodologia do
Ensino Superior, Faculdade
Sapiens, 2013 – 2014, Concluído.
• Tecnologia em Análise e
Desenvolvimento de Sistemas,
Universidade do Estado do
Amazonas, 2007 – 2011, Concluído.
Experiência Profissional:
• Fóton Informática S.A.
• Ilha Service Tecnologia e Serviços.
• Instituto Conecthus - Tecnologia e
Biotecnologia do Amazonas.
• Grupo Yamaha Brasil.
• Softplan Planejamento e Sistemas
lotado no TJAM.
• Patrimônio Tecnologia.
• Retta Consultoria em Tecnologia .
• Analista de Transmissão de Dados do
TER/RO.
• Escola SENAI Marechal Rondon ·
Tempo integral.
• Centro de Educação Tecnológica do
Amazonas – CETAM.
5. Orientada a Objetos
Revisão ...
• Programação Orientada a
Objetos é um paradigma de
programação centrado em
torno dos conceitos de classes
e objetos.
• Objetos são unidades de
programa que abstraem dados e
operações relacionados.
• Objetos possuem características
e comportamentos.
19/03/2024 5
Programação Orientada a Objetos
6. Orientação a Objetos
Revisão ...
• Ex. Bicicleta:
CARACTERÍSTICAS – atributos velocidade e marcha;
COMPORTAMENTO – exposto pelos métodos:
+ mudarMarcha,aumentarVelocidade.
19/03/2024 6
7. Orientação a Objetos
Revisão ...
Uma classe é uma
abstração de uma
coleção de objetos com
características e
comportamentos em
comum.
As características de
uma classe se
manifestam
computacionalmente na
forma de atributos.
19/03/2024 7
8. Orientação a Objetos
Revisão ...
Uma classe fornece um
esquema para construção de
objetos com caracterísicas
e comportamentos
semelhantes.
Um objeto é uma instância de
uma única classe.
19/03/2024 Programação Orientada a
Objetos
8
9. Orientação a Objetos
Revisão ...
Um programa OO é um
conjunto de objetos que
colaboram entre si para a
solução de um problema
Objetos colaboram através de
trocas de mensagens
A troca de mensagem é realizada
através da chamada de um
método
19/03/2024 Programação Orientada a Objetos 9
10. Orientação a Objetos
Revisão...
Encapsulamento:
Princípio pelo qual cada componente de
um programa deve agregar toda a
informação relevante para sua
manipulação.
Ocultação da Informação:
princípio pelo qual cada componente
deve manter oculta sob sua guarda uma
decisão de projeto única. Para a
utlização dessecomponente, apenas o
mínimo necessário para sua operação
deve ser revelado (tornado público).
10
12. Orientação a Objetos
Herança
Diferentes classes podem ter diversas semelhança
Duas ou mais classes poderão compartilhar os
mesmos atributos e/ou os mesmos métodos.
Herança: Permite a uma classe herdar o
estado (atributos) e o comportamento
(métodos) de outra classe.
– Superclasse
– Subclasse
– Ancestral
– Descendente
12
15. Orientação a Objetos
Herança
Professor
- nome: String
- idade: int
- formação: String
+definirNome(nome: String): void
+retornarNome(): String
+definirIdade(idade: int): void
+retornarIdade(): int
+definirFormacao(f: String): void
+retornarFormacao(): String
...
Aluno
- nome: String
- idade: int
- curso: String
+definirNome(nome: String): void
+retornarNome(): String
+definirIdade(idade: int): void
+retornarIdade(): int
+definirCurso(c: String): void
+retornarCurso(): String
...
15
16. Orientação a Objetos
Herança
16
Professor
- nome: String
- idade: int
- formação: String
+definirNome(nome: String): void
+retornarNome(): String
+definirIdade(idade: int): void
+retornarIdade(): int
+definirFormacao(f: String): void
+retornarFormacao(): String
...
Aluno
- nome: String
- idade: int
- curso: String
+definirNome(nome: String): void
+retornarNome(): String
+definirIdade(idade: int): void
+retornarIdade(): int
+definirCurso(c: String): void
+retornarCurso(): String
...
17. Orientação a Objetos
Herança
Aluno
- curso: String
Professor
- formação: String
+definirFormacao(f: String): void
+retornarFormacao(): String
+definirCurso(f: String): void
+retornarCurso(): String
19/03/2024 Programação Orientada a Objetos 17
Pessoa
- nome: String
- idade: int
+definirNome(nome: String): void
+retornarNome(): String
+definirIdade(idade: int): void
+retornarIdade(): int
18. Orientação a Objetos
Herança
Pessoa
- nome: String
- idade: int
+definirNome(nome: String): void
+retornarNome(): String
+definirIdade(idade: int): void
+retornarIdade(): int
Aluno
- curso: String
+definirCurso(f: String): void
+retornarCurso(): String
João
25
Sistemas de Informação
Instâncias de Aluno
Maria
20
Sistemas de Informação
18
19. Orientação a Objetos
Herança
//SuperClass.java public class
SuperClass
{
// Atributos e métodos
}
//SubClass.java
public class SubClass extends SuperClass
{
// Atributos e métodos
}
19
21. Orientação a Objetos
Herança
class Pessoa {
String nome;
int idade;
void definirNome(String valor) {
nome = valor;
}
String retornarNome() {
return nome;
}
void definirIdade(int valor) {
idade = valor;
}
int retornarIdade() {
return idade;
}
}
class Aluno extends Pessoa {
String curso;
void definirCurso(String valor) {
curso = valor;
}
String retornarCurso() {
return curso;
}
}
19/03/2024 Programação Orientada a Objetos 21
22. Orientação a Objetos
Herança
Aluno joao = new Aluno();
joao.definirNome(“João”);
joao.definirIdade(25);
joao.definirCurso(“Sistemas de
Informação”);
Aluno maria = new Aluno();
maria.definirNome(“Maria”);
maria.definirIdade(20);
maria.definirCurso(“Ciência da
Computação”);
João
25
Sistemas de Informação
Maria
20
Ciência da Computação
19/03/2024 Programação Orientada a Objetos 22
23. Orientação a Objetos
Herança
Eletrodoméstico Liquidificador
Voltagem
Garantia
Fabricante
Cor
Ligar
Desligar
Auto Limpeza
Velocidade
19/03/2024 Programação Orientada a Objetos 23
24. Orientação a Objetos
Superposição de atributos e métodos
public class Automovel extends VeiculoTerrestre {
public String licenca;
public Automovel(){
super.licenca="LAL1229";
}
}
19/03/2024 Programação Orientada a Objetos 24
Atributos com mesmo nome de atributos de superclasses
escondem o atributo da superclasse.
O acesso ao atributo da superclasse se faz com o uso do
operador super.
25. Orientação a Objetos
Herança e Generalização
Uma generalização é um relacionamento entre itens gerais
(superclasse) e itens mais específicos (subclasses).
É representada por uma linha sólida com um triângulo
vazado apontando para o item mais geral.
“é um”
“é um tipo de”
superclasse
subclasse
19/03/2024 Programação Orientada a Objetos 25
26. Orientação a Objetos
Classes Abstratas
São classes que existem apenas
conceitualmente para definir
conjuntos de métodos e
propriedades.
Uma classe abstrata é uma
classe que não tem
instâncias diretas.
Entretanto, suas classes
descendentes podem ter
instâncias diretas.
26
27. 27
Exemplo Prático
Exemplo Prático de Herança em Java
Considere um exemplo simples de uma hierarquia de classes para representar formas geométricas:
28. Orientação a Objetos
Herança
19/03/2024 Programação Orientada a Objetos 28
public abstract class Empregado {
public Empregado (String nome, double salario) {
this.numero = ++contador;
this.nome = nome;
this.salario = salario; }
public abstract void aumentaSalario(double percentual);
}
public class Vendedor extends Empregado{
public void aumentaSalario (double percentualDeAumento)
{ percComissao = percComissao * (1+percentualDeAumento/100);}
}
public class Gerente extends Empregado {
public void aumentaSalario(double percentual) {
double novoSalario = getSalario() * (1+2 * percentual/100);
setSalario(novoSalario);
}
}
Exemplo Prático de Herança com Classe Abstrata em Java
29. 29
Pensando um Pouco
Como os conceitos
de Herança do
paradigma da
Programação
Orientada a Objetos
estão presentes no
nosso dia a dia.
30. 19/03/2024 Programação Orientada a Objetos 30
Exercícios
1) Modifique a classe Carro do alugacar conforme ilustra a imagem abaixo.
2) Altere a aplicação alugacar para permitir a locação de outros veículos,
tais como: motos e ônibus.
3) Crie duas subclasses de Conta: ContaCorrente e ContaPoupanca.
31. 19/03/2024 Programação Orientada a Objetos 31
Referências
• DEITEL, H. M.; DEITEL, P. J. Java: como programar. 8. ed. São Paulo:
Prentice Hall Brasil, 2010.
• SANTOS, R. Introdução à Programação Orientada a Objetos Usando Java.
2. ed. Rio de Janeiro: Campus – Elsevier, 2013.
• SCHILDT, H. Java para iniciantes. 5. ed. Porto Alegre: Bookman, 2013.
• SIERRA, K.; BATES, B. Use a cabeça! Java. 2.ed. Rio de Janeiro, RJ: Alta
Books, 2010.
• TURINI, R. Desbravando Java e Orientação a Objetos: Um guia para o
iniciante da linguagem. São Paulo: Casa do Código, 2014.
• BARNES, D. J.; KÖLLING, M. Programação orientada a objetos com Java:
uma introdução prática usando o BlueJ. 4. ed. São Paulo, SP: Pearson
Prentice Hall, 2009. xxii, 455 p. ISBN 9788576051879.
32. 19/03/2024 Programação Orientada a Objetos 32
Referências
• BORATTI, I. C. Programação orientada a objetos em Java. Florianópolis:
Visual Books, 2007. 310 p. ISBN 978857502199-6.
• CARDOSO, C. Orientação a objetos na prática: aprendendo orientação a
objetos com Java. Rio de Janeiro: Ciência Moderna, 2006. 175 p. ISBN
8573935383.
• HORSTMANN, C. S.; CORNELL, G. Core Java. 8. ed. São Paulo, SP: Pearson,
2010. 400 p. ISBN 9788576053576.
• LARMAN, C. Utilizando UML e padrões: uma introdução à análise e ao
projeto orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto
Alegre: Bookman, 2007. 695 p. ISBN 85-363-0358-1.