Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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;
void mudarMarcha(int novoValor) {
marcha = novoValor;
}
void aumentarVelocidade(int incremento) {
velocidade = velocidade + incremento;
}
void aplicarFreios(int decremento) {
velocidade = velocidade - decremento;
}
15
}
Instituto de Computação - UFF
Orientação a Objetos em Java – Criando
objetos com Java (15/33)
17
Instituto de Computação - UFF
Orientação a Objetos em Java – Resumo
(17/33)
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)
Pessoa
------------------------------------------------
nome
idade
Professor Aluno
-------------------------------------------------------------------
------------------------------------------------------------------------------------
formação curso
área de interesse 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)
A1
Obj. Qual é a
A2
A1 chama A2 A sequência de
Classe B métodos
A1 executados?
Obj.
A2 B
35
Instituto de Computação - UFF
Modificadores de Acesso (1/5)
– 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)
Classe/
modificador Atributos ou pacote subclasse todos
mé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)
Classe/
modificador Atributos ou pacote subclasse todos
mé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)
private Não
Sim Não Não
41
Instituto de Computação - UFF
Contrutores (1/4)
public classAloMundo {
Variáveis
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