Escolar Documentos
Profissional Documentos
Cultura Documentos
Conteúdo:
- Conceitos de orientação a
objetos em Java
1
Instituto de Computação - UFF
Orientação a Objetos em Java (1/33)
• Conceitos:
– Identidade.
– Classificação.
– Hereditariedade.
– Encapsulamento.
– Polimorfismo.
– Ligação Dinâmica.
3
Instituto de Computação - UFF
Orientação a Objetos em Java (3/33)
Aluno
Nome
Matrícula Classe
Nota Média
João Maria
193.31.098-7 195.31.022-5
7,6 8,7
4
Instituto de Computação - UFF
Orientação a Objetos em Java (4/33)
• Exemplos:
cachorros estado: nome, cor, raça
comportamento: latir, correr
Bicicletas estado: marcha atual, velocidade atual
comportamento: trocar marcha,
aplicar freios
5
Instituto de Computação - UFF
Orientação a Objetos em Java (5/33)
6
Instituto de Computação - UFF
Orientação a Objetos em Java (6/33)
• Classes contém:
7
Instituto de Computação - UFF
Orientação a Objetos em Java (7/33)
Classe Instâncias
Aluno João
Nome 193.31.098-7
atributos Matrícula 7,6
Nota Média
setNome(nome) Maria
métodos getNome() 195.31.022-5
... 8,7
8
Instituto de Computação - UFF
Orientação a Objetos em Java (8/33)
• Objetos
9
Instituto de Computação - UFF
Orientação a Objetos em Java (9/33)
• Objetos
Instâncias
Bicicleta Bibicleta A
campos Marcha atual 3ª
Velocidade atual 20 km/h
(atributos)
mudarMarcha() Bibicleta B
métodos mudarVelocidade()
7ª
...
35 km/h
11
Instituto de Computação - UFF
Orientação a Objetos em Java (11/33)
João Bibicleta B
João mudarMarcha 7º
30 anos 35 km/h
12
Instituto de Computação - UFF
Orientação a Objetos em Java – Classes
x Objetos (12/33)
Documento
CLASSE
Autor
DataDeChegada
Atributos
Imprimir
Editar
Funções
13
Instituto de Computação - UFF
Orientação a Objetos em Java – Classe
em Java (13/33)
// Class Lampada
public class Lampada
{
// Atributos
boolean acesa;
// Métodos
public void ligar()
{ acesa = true; }
public void desligar()
{ acesa = false; }
} 14
Instituto de Computação - UFF
Orientação a Objetos em Java – Classe
em Java (14/33)
class Bicicleta {
int velocidade = 0;
int marcha = 1;
Proteger os
atributos
Permitir acesso
aos atributos
através dos
métodos
19
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(19/33)
– Superclasse
– Subclasse
– Ancestral
– Descendente
20
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(20/33)
P es so a
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
n om e
ida de
P ro fes so r A lu no
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
fo rm a ção cu rs o
ár ea d e in ter ess e cr
21
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(21/33)
22
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(22/33)
23
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(23/33)
24
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(24/33)
Instâncias de
Aluno
João
25
Sistemas de Informação
Maria
20
Sistemas de Informação
25
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(25/33)
// SuperClass.java
public class SuperClass
{
// Atributos e métodos
}
// SubClass.java
public class SubClass EXTENDS SuperClass
{
// Atributos e métodos
}
class Pessoa {
String nome;
int idade;
class Aluno extends Pessoa {
void definirNome(String valor) { String curso;
nome = valor;
} void definirCurso(String valor) {
curso = valor;
String retornarNome() { }
return nome;
String retornarCurso() {
}
return curso;
void definirIdade(int valor) { }
idade = valor; }
}
int retornarIdade() {
return idade;
}
} 27
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(27/33)
28
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(28/33)
ELETRODOMÉSTICO Liquidificador
Voltagem Fabricante
Garantia Cor
29
Instituto de Computação - UFF
Orientação a Objetos em Java – Herança
(29/33)
– A classe abstrata pode possuir métodos não abstratos, bastando ter apenas um
método abstrato para ser considerada como tal.
32
Instituto de Computação - UFF
Orientação a Objetos em Java –
Polimorfismo (32/33)
33
Instituto de Computação - UFF
Orientação a Objetos em Java –
Polimorfismo (33/33)
Classe A
A1
Obj.
A2 A
Classe B
A1
Obj.
A2 B
34
Instituto de Computação - UFF
Orientação a Objetos em Java – Ligação
dinâmica (34/33)
– public (público)
– private (privado)
– protected (protegido)
37
Instituto de Computação - UFF
Modificadores de Acesso (3/5)
38
Instituto de Computação - UFF
Modificadores de Acesso (4/5)
modificador Classe/
Atributos ou métodos pacote subclasse todos
public
Sim Sim Sim Sim
protected
Sim Sim Sim Não
nenhum
Sim Sim Não Não
private
Sim Não Não Não
39
Instituto de Computação - UFF
Modificadores de Acesso (4/5)
modificador Classe/
Atributos ou métodos pacote subclasse todos
public
Sim Sim Sim Sim
protected
Sim Sim Sim Não
nenhum
Sim Sim Não Não
private
Sim Não Não Não
40
Instituto de Computação - UFF
Modificadores de Acesso (5/5)
41
Instituto de Computação - UFF
Contrutores (1/4)
44
Instituto de Computação - UFF
Contrutores (4/4)
46
Instituto de Computação - UFF
Exercícios (2/6)
47
Instituto de Computação - UFF
Exercícios (3/6)
48
Instituto de Computação - UFF
Exercícios (4/6)
49
Instituto de Computação - UFF
Exercícios (5/6)
50
Instituto de Computação - UFF
Exercícios (6/6)
51
Instituto de Computação - UFF