O documento discute classes abstratas em Java. Explica que classes abstratas são superclasses que servem de modelo para subclasses concretas, definindo características comuns mas deixando detalhes para implementação nas subclasses. Detalha como declarar classes e métodos abstratos em Java usando a palavra-chave "abstract" e mostra um exemplo com uma classe Animal abstrata e subclasses Gato e Cachorro.
Aula 2 da disciplina de Programação Orientada a Objetos. Os slides abordam a conversão de tipos de dados, tratamento de excessões, a classe String e a biblioteca JOptionPane
Aula 04 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos iniciais da programação orientada a objetos.
Aula 13 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre Classe Abstrata e Interface.
Aula 2 da disciplina de Programação Orientada a Objetos. Os slides abordam a conversão de tipos de dados, tratamento de excessões, a classe String e a biblioteca JOptionPane
Aula 04 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos iniciais da programação orientada a objetos.
Aula 13 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre Classe Abstrata e Interface.
On Some Continuous and Irresolute Maps In Ideal Topological Spacesiosrjce
In this paper we introduce some continuous and irresolute maps called
δ
ˆ
-continuity,
δ
ˆ
-irresolute,
δ
ˆ
s-continuity and
δ
ˆ
s-irresolute maps in ideal topological spaces and study some of their properties.
Independent third party monitoring of the selected World Bank financed projects in Nepal under Citizen Actions for Results, Transparency and Accountability (CARTA) project
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
Material de Orientação a Objetos com Java objetivando auxiliar no aprendizado do paradigma e da linguagem Java, preparando o aluno para programar para Google Android
On Some Continuous and Irresolute Maps In Ideal Topological Spacesiosrjce
In this paper we introduce some continuous and irresolute maps called
δ
ˆ
-continuity,
δ
ˆ
-irresolute,
δ
ˆ
s-continuity and
δ
ˆ
s-irresolute maps in ideal topological spaces and study some of their properties.
Independent third party monitoring of the selected World Bank financed projects in Nepal under Citizen Actions for Results, Transparency and Accountability (CARTA) project
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
Material de Orientação a Objetos com Java objetivando auxiliar no aprendizado do paradigma e da linguagem Java, preparando o aluno para programar para Google Android
Ao final da aula, os alunos saberão identificar as principais diferenças entre a programação estruturada e a programação orientada a objetos.
Apresentar aos alunos uma introdução a linguagem C# e a IDE Visual Studio.
2. Linguagem de Programação III - Classes Abstratas
Agenda
•
•
•
•
•
•
•
•
•
Definição
Quando usar?
Um exemplo no mundo real
O mesmo exemplo utilizando classes
Em Java
Métodos abstratos
As classes concretas
Aumentando o exemplo
Por que não utilizar herança
comum?
• Conclusão
2
Lucas
3. Linguagem de Programação III - Classes Abstratas
Definição
“Classes abstratas organizam
elementos comum a várias classes.”
James Rumbaugh
Classes abstratas são superclasses
que servem apenas de modelo para
classes concretas, portanto não podem
ser instanciadas diretamente.
3
Lucas
4. Linguagem de Programação III - Classes Abstratas
Quando usar?
Usamos classes abstratas para
representar grupos que tem
características em comum, mas que
diferem em detalhes específicos.
A classe abstrata implementa somente
as características gerais e seus
métodos abstratos são implementados
nas subclasses com suas
peculiaridades.
4
Levy
7. Linguagem de Programação III - Classes Abstratas
O mesmo exemplo
utilizando
classes
Animal é a nossa
classe abstrata,
pois serve de base
para as classes
concretas, Gato e
Cachorro, por
exemplo.
7
Levy
9. Linguagem de Programação III - Classes Abstratas
Em Java
Utilizamos a palavra-chave abstract
para declarar uma classe abstrata:
public abstract class Animal {
public void Andar() {
System.out.println("Estou andando!");
}
}
9
Jéssica
10. Linguagem de Programação III - Classes Abstratas
Em Java
Então já posso instanciar a minha classe
abstrata assim?
Animal animal = new Animal();
Não!
Você não pode instanciar uma classe abstrata!
10
Jéssica
11. Linguagem de Programação III - Classes Abstratas
Métodos abstratos
Podemos definir um método como abstrato,
isso quer dizer que ele deverá ser
implementado nas classes concretas.
Em Java, para declarar um método como
abstrato também utilizamos a palavrachave abstract:
public abstract class Animal {
public abstract void FazerSom();
public void Andar() {
System.out.println("Estou andando!");
}
}
11
Jéssica
12. Linguagem de Programação III - Classes Abstratas
As classes concretas
public class Gato extends Animal {
public void FazerSom() {
System.out.println("Miau! miau!");
}
}
public class Cachorro extends Animal {
public void FazerSom() {
System.out.println("Au! Au!");
}
}
12
Jéssica
13. Linguagem de Programação III - Classes Abstratas
As classes concretas
Agora sim podemos instanciar um
animal específico:
Gato gato = new Gato();
gato.Andar(); // “Estou andando!”
gato.FazerSom(); // “Miau! Miau!”
Ou até mesmo:
Animal cachorro = new Cachorro();
cachorro.Andar(); // “Estou andando!”
cachorro.FazerSom(); // “Au! Au!”
13
Jéssica
15. Linguagem de Programação III - Classes Abstratas
Por que não utilizar
herança comum?
A única diferença é que não podemos
instanciar a classe abstrata, e se
tratando de conceitos abstratos, dá
mais consistência ao sistema.
A decisão de transformar ou não uma
classe em abstrata depende do seu
domínio.
15
Danilo
16. Linguagem de Programação III - Classes Abstratas
Conclusão
Classe abstrata é um recurso que
podemos utilizar quando queremos
compartilhar funcionalidades em
comum entre classes, mas não
queremos permitir que ela seja
instanciada diretamente.
16
Danilo
17. Linguagem de Programação III - Classes Abstratas
Referências
• http://www.caelum.com.br/apostila-javaorientacao-objetos/classes-abstratas/
• http://www.inf.pucrs.br/flash/lapro2/aula_heran
ca/
• http://www.javaprogressivo.net/2012/10/Polimo
rfismo--Classes-abstratas-e-Metodosabstratos.html
17
Danilo