Você está na página 1de 33

Aula 02 -

Paradigmas de Linguagem
de Programação
Prof. Me. Gabriel Pinheiro Compto
Orientação a Objetos

• A Orientação a Objetos (OO) é um paradigma de programação, ou seja,


é uma forma de desenvolver programas. O que foi estudo na disciplina
de lógica de programação, pode ser definido como paradigma de
programação estruturada, onde criados blocos de códigos.
• Na programação orientada a objetos, criamos códigos para classes de
objetos.
O que são objetos?

• São todas as coisas, físicas ou abstratas do mundo real que


possuem características e comportamentos.

• Objeto = Características + Comportamentos

• Características
– descrevem, identificam ou particularizam o objeto
• Comportamento
– uma ação que um objeto pode realizar (uma habilidade do objeto)
O que são objetos?

• Exemplos de objetos do mundo real


O que são objetos?

• Os objetos (computacionais) são compostos por:


– IDENTIDADE: endereço de memória
– ATRIBUTOS (ou campos): definem as características do
objeto
– MÉTODOS: são as operações que manipulam as
características ou ESTADO DO OBJETO. Estão
relacionados ao comportamento do objetos.
Exemplo de objetos
Exemplo de objeto da classe Conta
• Atributos
– número da conta: 223344
– número da agência: 5577
– saldo: R$100,00
• Métodos
– emitir saldo
– efetuar deposito
– efetuar saque
– emitir extrato
Todo objeto pertence a uma classe
Estado do Objeto

• É o conjunto de valores de seus atributos em um dado momento.


• Parte dos métodos de um objeto, em geral, pode alterar o estado do
objeto.
• Conforme os métodos do objeto vão sendo invocados, o objeto pode
assumir diversos estados durante sua vida.
• No exemplo anterior, podemos notar o valor do atributo saldo. O saldo
naquele determinado momento está com seu estado com valor R$100,00.
Representando Objetos em Sistemas
Computacionais

• Como transportar os objetos abstraídos no mundo real para o


ambiente computacional?

– Temos que implementar classes em programas que dão


vida a estes objetos em um sistema computacional.
Classe

• Refere-se à implementação de um objeto no ambiente


computacional.
• É um molde (planta do objeto) que especifica como o objeto
deve ser construído no ambiente computacional.
• Classe especifica o que todo objeto criado a partir desta classe
deve ter.
• A classe também classifica ou categoriza objetos que possuem
características e comportamentos comuns.
Classe
Classe

• Quando temos vários objetos de um mesmo tipo, dizemos que


eles pertencem a uma categoria ou classe. Exemplo:

– Ford-Ranger, Fiat-Palio e Chevrolet-Vectra pertencem à classe


dos carros.
– Tom, Garfield e Frajola pertencem à classe dos gatos.
Classe X Objetos

• Classes
– São abstrações de objetos que permitem descrever um tipo de objeto.
– Uma CLASSE descreve um categoria de objetos com características
(atributos), e comportamentos (métodos) semelhantes.

• Objetos
– É a instância particular de uma classe.
– São gerados em tempo de execução.
– É a parte física, pois consome recursos da máquina (aloca memória).
Classe X Objetos
• Exemplo de classe para objeto Televisão.
Classe Televisao
Atributos
• volume
• canal
• on_off
• tamanho
Métodos
• ligar()
• desligar()
• aumentarVolume()
• diminuirVolume()
Objetos ou instâncias
Classe X Objetos
• Criando uma classe em Java:

public class Arvore {


Instanciar a classe
// declaração da classe O método que possui o mesmo
nome da classe é chamado de
} método construtor, pois é
responsável por criar os objetos
• Criando um objeto em Java: da classe.

Arvore laranjeira = new Arvore();


Representações Classes

• Como descrever os atributos e as operações de uma


classe de objetos?
• Algumas alternativas são:
– Usar a língua portuguesa
– Usar uma linguagem de programação OO - Java
– Usar uma linguagem de modelagem - UML
Representação em UML

• UML – Linguagem Unificada de Modelagem (Unified


Modeling Language).
• Ela fornece representações gráficas que auxiliam a análise,
projeto e a programação OO.
Representação em UML
Representação em UML
Representação em UML / Java
Representação em UML / Java
Arquivo: Gato.java
public class Gato {
String nome;
Atributos
int idade;
float peso;
void correr() {
System.out.println(nome + " está correndo!");
peso--;
System.out.println("Peso: " + peso);
}
void comer() { Métodos
System.out.println(nome + " está comendo!");
peso = peso + 2;
System.out.println("Peso: " + peso);
}
void fazerAniversario() {
System.out.println("Parabens pra você, ...!");
idade++;
System.out.println("Idade: " + idade);
}
} // classe Gato
Instanciação e Instância

• Como podemos usar um objeto?


• É necessário instanciar a classe para criar um objeto.

• Instanciação é o processo que permite um objeto ser criado a partir de uma


classe.

• Quando instanciamos ("criamos") um objeto de uma classe, o objeto passa a


existir na memória.

• E quando o objeto é instanciado podemos começar a usá-lo.

• Dizemos que um objeto é uma instância de uma classe. Exemplo: os objetos


Tom, Frajola e Garfield são instâncias da classe Gato.
Instanciação e Instância

• A instanciação de um objeto de uma classe provoca a alocação de memória para criação


do objeto.
• O objeto obtém um endereço na memória também chamado de referência.
• Objetos são instâncias de classes!

• Vamos instanciar um objeto gato da classe Gato:

public class InstanciandoUmGato {


public static void main(String[] args) {
new Gato();
}
}
Instanciação e Instância

• O operador new na instrução


new Gato();
instancia um objeto da classe Gato em uma região de memória
chamada Heap.
Heap
objeto da
classe
Gato
Endereço:
F70A1
Instanciação e Instância

• Problema: cria o objeto, mas não temos como acessá-lo, referenciá-


lo!
new Gato();

Sem acessar o objeto, não podemos utilizá-lo.

• Solução:
• usar uma variável para referenciar o objeto assim...
Instanciação e Instância

public class InstanciandoUmGato {


public static void main(String[] args) {

Gato frajola;
frajola = new Gato();

}
}
Instanciação e Instância

• A variável frajola está referenciando o objeto.


• Agora, temos acesso ao objeto, e podemos utilizá-lo.

frajola

Heap
objeto da
classe
Gato
Endereço:
F70A1
Instanciação e Instância

• A variável frajola é uma variável de instância.


• A variável de instância é o nome da variável que recebe a
referência do objeto instanciado.
• Por meio desta variável os atributos e métodos de uma classe
tornam-se disponíveis em cada objeto instanciado e podem ser
usados.
• Cada objeto tem sua própria variável de instância.
Instanciação e Instância

• Exemplo:
• Classe Aluno
• Atributos
• nome
• matricula
• Métodos
• imprimir nome
• imprimir matricula
Instanciação e Instância

• Na classe aluno cada objeto instanciado modela uma pessoa que tem
seu próprio nome e matrícula.
Objetos
Variáveis de Instância
nome: João
Aluno 1

referências
matrícula: 123456

nome: Maria Classe


Aluno 2
matrícula: 654321 Aluno

Aluno 3 nome: Pedro


matrícula: 123226
Instanciação e Instância

• Como podemos utilizar um objeto?


• Atribuindo valores para seus atributos (atribuir um estado
para o objeto).
• Invocando suas operações (métodos), visando algum
objetivo.
Instanciação e Instância
Arquivo: GatoPrincipal1.java
public class GatoPrincipal1 {
public static void main(String[] args) {
Gato frajola = new Gato();
Instanciando os
objetos
Gato garfield = new Gato();
frajola.nome = "Frajola";
frajola.idade = 2;
frajola.peso = 2.3;
Inserindo valores
garfield.nome = "Garfield ";
aos atributos
garfield.idade = 1;
garfield.peso = 5.7;
System.out.println("Nome:" + frajola.nome);
System.out.println("Idade:" + frajola.idade);
System.out.println("Peso:" + frajola.peso);
System.out.println("Nome:" + garfield.nome);
System.out.println("Idade:" + garfield.idade);
System.out.println("Peso:" + garfield.peso);
} // fim main
}
Receita para trabalhar com OO

1. Descubra(abstraia) os objetos do problema.


2. Identifique as classes às quais pertencem os objetos.
3. Implemente as classes utilizando uma linguagem de
programação OO.
4. Em seu programa, instancie objetos a partir das classes por
meio de métodos construtores.
5. Use os objetos para resolver o problema inicial.
Referências

Conteúdo de autoria do Prof. Dr. Fábio Santos (com modificações e incrementos


realizados pelo Prof. Me. Gabriel Compto)

SANTOS, F. Linguagem de Programação Java. 2014.

Você também pode gostar