You are on page 1of 18

Linguagem e Tcnica de Programao Tecnologia Java

Professor: Hlder Seixas Lima E-mail: helder.seixas@ifnmg.edu.br

Mdulo: Introduo a orientao a objetos

Introduo

Orientao a objetos um paradigma de linguagem de programao; Java orientado a objetos. Assim como Object Pascal, C#, C++ e PHP; Pascal, C e Cobol no so orientado a objetos. Elas seguem o paradigma estruturado;

Qual a diferena entre estes paradigmas?

O paradigma estruturado baseia-se representao do mundo por operaes.

na

O paradigma orientado a objetos baseia-se na representao do mundo por objetos que interagem entre si, e cada objeto tem seu prprio estado e comportamento.

Quais as vantagens da orientao a objetos?


Organizao de cdigo; Melhora a manuteno de cdigo; Potencializa o reaproveitamento de cdigo; Permite encapsular as regras de negcio.

O que um objeto?
uma entidade do mundo real.
CADEIRAS

CARROS PESSOAS

O que orientao a objetos

Objetos do mundo real possuem caractersticas: cor, tamanho, peso, preo... Objetos do mundo real tambm possuem comportamentos: correm, voam, empurram, aceleram... Eles fazem coisas, eles executam aes.

Classes em Java

Classe o modelo que descreve um objeto do mundo real


Atributos (Estado) Mtodos (Comportamento)

Portanto, programar em Java significa escrever classes.

Exemplo Classe Cachorro

Classe Cachorro

nome idade late() brinca()


9

class Cachorro{ String nome; int idade; void late(){...} void brinca(){...} }

Objetos em Java

Objeto uma instncia de uma classe (podemos dizer que ele o objeto de uma classe)

10

Exemplos de Objetos

Objetos da classe Cachorro

nome: Scooby idade: 38 anos

nome: Lassie idade: 7 anos


11

Classes em Java

Vamos criar uma classe em Java. Imagine uma conta bancria. As propriedades de um conta bancria so: nmero da conta, nome do cliente e saldo. O cdigo desta classe em Java :
class Conta{ int numero; String nomeCliente; double saldo; }
12

Entendendo melhor a classe

Esta uma classe que representa uma entidade do mundo real; No existe mtodo main nesta classe. Por qu?
class Conta{ int numero; String nomeCliente; double saldo; }

Atributos

13

Criando e usando objetos

Agora que temos a classe Conta definida, poderemos instanci-la.

class Programa{ public static void main(String[] args){ Conta contaJoao; contaJoao = new Conta(); contaJoao.nomeCliente = Joo; contaJoao.numero = 1; contaJoao.saldo = 1000; } } System.out.println(Saldo do Joo: + contaJoao.saldo);
14

Entendendo melhor a instanciao de objetos


class Programa{ public static void main(String[] args){ Conta contaJoao;
// Aqui apenas est sendo declarado a referncia para um objeto da classe Conta // Neste momento est sendo alocado na memria uma objeto da classe Conta

contaJoao = new Conta();


// Nas prximas linhas est sendo atribudo valores aos atributos do objeto

contaJoao.nomeCliente = Joo; contaJoao.numero = 1; contaJoao.saldo = 1000; System.out.println(Saldo do Joo: + contaJoao.saldo); } }


15

Vamos instanciar mais objetos

Podemos criar quantos objetos precisarmos


Conta contaJoao; contaJoao = new Conta();

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


contaJoao.nomeCliente = Joo; contaJoao.numero = 1; contaJoao.saldo = 1000; System.out.println(Saldo do Joo: + contaJoao.saldo);

Conta contaMaria = new Conta(); contaMaria.nomeCliente = Maria; contaMaria.numero = 2; contaMaria.saldo = 5000;

System.out.println(Saldo da Maria: + contaMaria.saldo);


16

Mtodos

Os mtodos expressam comportamentos e aes de uma classe. Uma comportamento comum em uma conta bancria realizar a ao de transferir dinheiro.

class Conta{ int numero; String nomeCliente; double saldo; void transferir(Conta contaDestino, double valor){ this.saldo = this.saldo - valor; contaDestino.saldo += valor; }
17

Invocando Mtodos
class Programa{ public static void main(String[] args){
Conta contaJoao; contaJoao = new Conta(); contaJoao.nomeCliente = Joo; contaJoao.numero = 1; contaJoao.saldo = 1000; System.out.println(Saldo do Joo: + contaJoao.saldo); Conta contaMaria = new Conta(); contaMaria.nomeCliente = Maria; contaMaria.numero = 2; contaMaria.saldo = 5000; System.out.println(Saldo da Maria: + contaMaria.saldo);

contaJoao.transferir(contaMaria, 500); System.out.println(Saldo novo do Joo: + contaJoao.saldo); System.out.println(Saldo novo da Maria: + contaMaria.saldo);
18

You might also like