Você está na página 1de 26

Programação

Orientada a Objetos
Programação Orientada a Objetos
• Técnicas de Programação

Figura 1: Linha do tempo das técnicas de programação

Fonte: http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-java/26452
Programação Orientada a Objetos

• Alan Kay
Smalltalk

• Ole Johan Dhal e Kristen Nygaard


Simula 67
Programação Orientada a Objetos
Elementos

Classes
Objetos
Atributos
Métodos
Construtores
Programação Orientada a Objetos
Classes

As classes de programação são projetos de um objeto


Têm características e comportamentos:
Armazena propriedade e métodos dentro dela.

Classe Abstração.
Representa geralmente um substantivo:
Uma pessoa,
Um lugar,
Programação Orientada a Objetos
Características das classes
• Toda classe possui um nome;

• Possuem visibilidade, exemplo: public, private, protected;

• Possuem membros como: Características e Ações;

• Para criar uma classe basta declarar a visibilidade + digitar a palavra


reservada class + NomeDaClasse + abrir e fechar chaves { }.
Programação Orientada a Objetos
Declaração de uma classe:

public class Teste{

//ATRIBUTOS OU PROPRIEDADES
//MÉTODOS
}
Programação Orientada a Objetos
public class Caes {
Componentes de uma classe:
public String nome; Métodos e atributos
public int peso;
public String corOlhos;
public int quantPatas;

public void falar(){


//MÉTODO FALAR
}

public void andar(){


//MÉTODO ANDAR
}

public void comer(){


//MÉTODO COMER
}

public void dormir(){


//MÉTODO DORMIR
}
}

Fonte: http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-java/26452
Programação Orientada a Objetos
Demonstração de uma classe

Fonte: http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-java/26452
Programação Orientada a Objetos
Objetos
Programação Orientada a Objetos
Atributos
Os atributos são as propriedades de um objeto
variáveis ou campos

public class Cachorro{

public String nome;


public int peso;
public String corOlhos;
public int quantPatas;
}
Programação Orientada a Objetos
public class TestaCaes {

public static void main(String[] args) {


Cachorro cachorro1 = new Cachorro();
cachorro1.nome = "Pluto";
cachorro1.corOlhos = "azuis";
cachorro1.peso = 53;
cachorro1.quantPatas = 4;

Cachorro cachorro2 = new Cachorro();


cachorro2.nome = "Rex";
cachorro2.corOlhos = "amarelo";
cachorro2.peso = 22;
cachorro2.quantPatas = 3;

Cachorro cachorro3 = new Cachorro();


cachorro3.nome = "Bob";
cachorro3.corOlhos = "marrom";
cachorro3.peso = 13;
cachorro3.quantPatas = 4;

}
Programação Orientada a Objetos
Revisão

Criando uma classe:

class Conta{

int numero; Variável do objeto


ou
String dono; atributo
double saldo;
double limite;
}
Programação Orientada a Objetos
Revisão

Criando um objeto (construir, instanciar):

new Conta();

Completo:
class Program {
public static void main (String [] args){
new Conta();
}
}
Programação Orientada a Objetos
Revisão

Mais Completo (acesso ao objeto):


class Program {
public static void main (String [] args){
Conta minhaConta;
minhaConta = new Conta();
}
}
Programação Orientada a Objetos
Revisão

Agora com valores:

class Program {
public static void main (String [] args){
Conta minhaConta;
minhaConta = new Conta();

minhaConta.dono = “Mário”;
minhaConta.saldo = “10000.00”;

System.out.println(“Saldo atual em: ”+ minhaConta.saldo);


}
}
Programação Orientada a Objetos
Operação em um objeto: Métodos

class Conta { Parâmetro


double salario;
// ...atributos ...

void sacar(double quantidade) {


double novoSaldo = this.saldo - quantidade;
this.saldo = novoSaldo;
Indica atributo
}
}

void: não há retorno de dado/informação para quem pediu


Programação Orientada a Objetos
Operação em um objeto: Métodos

class Conta{
//métodos ou atributos

void depositar(double quantidade){


this.saldo += quantidade;
}
}
Programação Orientada a Objetos
Operação em um objeto: Métodos
class TestaMetodos{
public static void main(String[] args){

// Criação da conta
Conta minhaConta;
minhaConta = new Conta;

//Saldo da conta
minhaConta.dono = “Mário”;
minhaConta.saldo=“10000.00”;

//Sacar valor
minhaConta.Sacar(100);

//Depositar valor
minhaConta.depositar(500);

//Mostra quanto tem na conta


System.out.println(“Na conta tem”+minhaConta.saldo);}
}
Programação Orientada a Objetos
Métodos com retorno

class Conta {
// ... outros métodos e atributos ...

boolean saca(double valor) { Indica retorno


if (this.saldo < valor) {
return false;
}
else {
this.saldo = this.saldo - valor;
return true;
}
}
}

Indica o fim do método, retornando a resposta


Programação Orientada a Objetos
Classe até agora

Fonte: Caelum – Java Objetos fj11


Programação Orientada a Objetos
Usando o método
minhaConta.saldo = 1000;
boolean consegui = minhaConta.saca(2000);
if (consegui) {
System.out.println("Consegui sacar");
} else {
System.out.println("Não consegui sacar");
}

Ou assim:

minhaConta.saldo = 1000;
if (minhaConta.saca(2000)) {
System.out.println("Consegui sacar");
} else {
System.out.println("Não consegui sacar");
}
Programação Orientada a Objetos
Duas contas agora

class TestaDuasContas {
public static void main(String[] args) {

Conta minhaConta;
minhaConta = new Conta();
minhaConta.saldo = 1000;

Conta meuSonho;
meuSonho = new Conta();
meuSonho.saldo = 1500000;
}
}
Programação Orientada a Objetos
Objetos e referências

• Objetos são acessados através de referências:


• new
• A variável não guarda o objeto e sim uma maneira de acessá-lo

public static void main(String args[]) {


Conta conta1;
conta1 = new Conta();
Conta conta2;
conta2 = new Conta();
}

Como se lê: conta1 se refere a um objeto


Programação Orientada a Objetos
Outro exemplo

public static void main(String args[]) {


Conta conta1 = new Conta();
conta1.dono = "Mário";
conta1.saldo = 227;

Conta conta2 = new Conta();


conta2.dono = "Maria";
conta2.saldo = 227;

if (conta1 == conta2) {
System.out.println("Contas iguais");
}
}

Baseado em:Caelum – Java Objetos fj11


Programação Orientada a Objetos
Fontes:
Caelum – Java Objetos fj11
http://www.devmedia.com.br/introducao-a-programacao-orientada-a-objetos-em-
java/26452

Você também pode gostar