Você está na página 1de 19

Programação

Orientada a
Objetos

Aula 3
Profª: Madianita Bogo Marioti
Orientação a Objetos
▪ Proposta - Aproximar do mundo real a
maneira como se constrói os programas
▪ O mundo real é composto por entidades
▪ Entidade Automóvel
▪ Entidade Pessoa
▪ Entidade Brinquedo
Orientação a Objetos
▪ As entidades possuem atributos que definem suas
características/estados
▪ Entidade Automovel: marca, modelo, ano, cor,
está ligado (verdadeiro ou falso) etc.
▪ Entidade Pessoa: idade, sexo, peso, altura etc.
▪ Entidade Brinquedo: nome, preço, fabricante, etc.
▪ As entidades possuem comportamentos que podem
representar ações e/ou influenciar no seu estado ou
características
▪ Entidade Automovel: ligar, desligar, andar etc.
▪ Entidade Pessoa: andar, respirar, correr, fazer
aniversário etc.
▪ Entidade Brinquedo: emitir som, se movimentar,
quebrar etc.
Classe - Visão do Software
“Uma classe é o modelo ou esquema a
partir do qual os objetos são criados
(construídos)” (Horstmann, 2010).
Horstmann, Cay S. Core Java, volume I: Fundamentos - 8ª edição.
Editora Pearson Prentice Hall, 2010 [Biblioteca física e virtual]

Define atributos e comportamentos


comuns a todas as entidades com
características afins.
Programação
Orientada a Objetos
Entidade Automóvel
▪ Atributos: marca, modelo, ano, cor,
está ligado (verdadeiro ou falso)
etc.
▪ Comportamentos?
▪ Ligar
▪ Desligar
▪ Verificar se está ligado
▪ Avisar que a porta está aberta
▪ ...
MUNDO REAL SOFTWARE

Todas as entidades que possuem


atributos e comportamentos comuns
fazem parte de uma mesma classe!
Programação
Orientada a Objetos
Entidade Pessoa
▪ Atributos: nome, idade, sexo, peso,
altura etc.
▪ Comportamentos?
▪ Fazer aniversário (aumenta um
ano, tem comemoração?)
▪ Verificar maior idade
▪ Verificar alistamento
▪ Calcular IMC
▪ Gerar e-mail
▪ ...
MUNDO REAL SOFTWARE
Atributos e comportamentos de uma Conta Bancaria?
Objeto - Visão do Software
▪ As entidades são chamadas de objetos
▪ Um objeto é uma instância de uma classe
▪ Entidades concretas/tangíveis
▪ Uma pessoa
▪ Um automóvel
▪ Um brinquedo
▪ Entidades abstratas/intangíveis
▪ Uma venda
▪ Uma conta bancária
▪ Uma sessão de usuário
Classe Objeto
Modelo/Definição Instância/Entidade
Classe Objeto
Modelo/Definição Instância/Entidade
Classe
Trecho de código que define as
características (atributos) e os
comportamentos (métodos)
comuns a todas as entidades com
características afins.
Classe
public class Automovel {
public String marca, modelo;
public int ano;
public boolean ligado = false;

public void ligar() {


ligado = true;
}
public void desligar() {
ligado = false;
}
public String verEstado() {
if (ligado) {
return "ligado";
}
return "desligado";
}
}
Classe Automovel Uso da classe

public class Automovel { public class ProjetoAutomovel {


public String marca, modelo; public static void main(String[] args) {
public int ano; Automovel carro = new Automovel(); //Objeto
public boolean ligado = false;
carro.marca = "Fiat";
public void ligar() { carro.modelo = "Palio";
ligado = true; carro.ano = 2010;
}
public void desligar() { System.out.println(carro.marca + "\t" + carro.modelo
ligado = false; + "\t" + carro.ano + "\t" + carro.verEstado());
}
public String verEstado() { carro.ligar();
if (ligado) return "ligado"; System.out.println("\n" + carro.modelo + "\t"
return "desligado"; + carro.verEstado());
} }
} }
Classe
public class Pessoa {
String nome, sexo;
int idade;
double peso, altura;

public boolean ehMaior(){


return idade >= 18;
}
public double calcularIMC(){
return peso/Math.pow(altura,2);
}
public boolean deveAlistar(){
return idade >= 18 &&
sexo.equals("masculino");
}
}
Classe Pessoa Uso da classe

public class Pessoa { public class ProjAula1_Pessoa {


String nome, sexo; public static void main(String[] args) {
int idade; double imc;
double peso, altura; Pessoa p = new Pessoa();
p.nome = "Ana Banana";
public boolean ehMaior(){ p.sexo = "feminino";
return idade >= 18; p.idade = 20;
} p.peso = 68;
public double calcularIMC(){
p.altura = 1.74;
return peso/Math.pow(altura,2);
} imc = Math.round(p.calcularIMC() *100.0)/100.0;
public boolean deveAlistar(){ System.out.println(p.nome + ". IMC: " + imc);
return idade >= 18 && if (p.ehMaior()){
sexo.equals("masculino"); System.out.println("Maior de idade!");
} }else{
} System.out.println("Maior de idade!");
}
}
}
Resumo
▪ Classe: modelo que define os atributos e métodos
que os objetos de um determinado tipo terão.
▪ Objeto: é uma instância de uma classe, ou seja,
um "objeto" é criado/instanciado a partir do
modelo definido pela classe.
▪ Atributo: é uma característica/ propriedade de um
objeto que armazena os dados/estados dos
objetos.
▪ Método: são as ações ou comportamentos que os
objetos podem executar. São funções associadas
aos objetos e permitem que eles realizem tarefas
específicas.
EXERCÍCIOS
1. Refaça o exercício 1 da Aula1 convertendo para Orientação a Objetos.
2. Refaça os exercícios da Aula2 convertendo para Orientação a Objetos.
3. O contexto é de informações sobre livros comprados por um sebo para revenda. As
informações dos livros são: código, título, categoria (didático, infantil, outras), se está
disponível, se foi vendido e valor de compra. O valor de venda é o valor de compra
acrescido de 50%.
Deve ser possível:
▪ calcular o valor de venda;
▪ vender o livro, que consiste em verificar se o livro está disponível e, se estiver,
torná-lo indisponível;
▪ verificar as seguintes informações do livro: código, título, valor de venda e se
está disponível.
Identifique a classe, os atributos e comportamentos/métodos e implemente a classe
em Java.
Para testar, no programa principal, crie dois objetos de livro e utilize os
métodos/comportamentos implementados.

Você também pode gostar