Universidade Federal de Sergipe
Departamento de Computação
Programação Orientada a Objetos




  Introdução a Classes e Objetos

Felipe J. R. Vieira




        Última Atualização em Outubro de 2011
Sumário



  ➢
      Introdução;

  ➢   Classes, objetos, métodos e atributos; e

  ➢
      Construtores.




              103403 – Programação Orientada a Objetos   2
Recapitulando




         103403 – Programação Orientada a Objetos   3
Introdução

  ➢
    Orientação a objetos é uma maneira de
  programar que ajuda na organização e resolve
  muitos     problemas    enfrentados     pela
  programação procedural;

                                        Procedimento1
            Dado1
                                        Procedimento2
            Dado2
            Dado3
            Dado4                       Procedimento3

                                        Procedimento4

                    Programação Procedural


           103403 – Programação Orientada a Objetos     4
Introdução


  ➢ A responsabilidade de realizar as operações
  nos dados está espalhada por todo o código;

  ➢
     É interessante poder concentrar essa
  responsabilidade em um lugar só, para não ter
  chances de esquecer isso, ou de haver
  inconsistência.




           103403 – Programação Orientada a Objetos   5
Introdução




         103403 – Programação Orientada a Objetos   6
Introdução

  ➢
    Para você dirigir um carro, alguém tem de
  projetar o carro;

  ➢No projeto do carro inclui o projeto do pedal
  acelerador para aumentar a velocidade do
  carro;

  ➢
    O pedal oculta os complexos mecanismos que
  realmente fazem o carro ir mais rápido;

  ➢ Isso permite que as pessoas com pouco ou
  nenhum conhecimento de como os motores
  funcionam dirijam um carro facilmente.
           103403 – Programação Orientada a Objetos   7
Introdução

  ➢
     Você não pode guiar os desenhos de
  engenharia de um carro. Antes ele deve ser
  construído a partir dos desenhos de engenharia
  que o descrevem;

  ➢
    Em Java, primeiro criamos uma unidade de
  programa chamada classe, e assim como não se
  pode dirigir um desenho de engenharia de um
  carro, não se pode usar uma classe sem antes
  ela ser construída;

  ➢   Uma classe construída é um objeto.

              103403 – Programação Orientada a Objetos   8
Introdução

  ➢ Ao dirigir um carro, o ato de pressionar o
  acelerador envia uma mensagem para o carro
  realizar uma tarefa;

  ➢
    De maneira semelhante, envia-se mensagens
  para um objeto. Cada mensagem é conhecida
  como uma chamada de método que instrui um
  objeto a realizar uma tarefa.




           103403 – Programação Orientada a Objetos   9
Introdução




         103403 – Programação Orientada a Objetos   10
Introdução

  ➢ Além das capacidades de um carro, ele
  também tem muitos atributos, como cor,
  número de portas, quantidade de gasolina,
  velocidade atual e total de quilômetros
  percorridos;

  ➢
     De maneira semelhante, um objeto tem
  atributos que são portados com o objeto quando
  ele é utilizado em um programa.



           103403 – Programação Orientada a Objetos   11
Introdução


  ➢Os atributos são especificados pelas variáveis
  de instância da classe.

  ➢ Para melhor entendimento, vamos estudar um
  sistema bancário. Uma entidade muito
  importante neste sistema é a conta.




            103403 – Programação Orientada a Objetos   12
Classe



  ➢
    Quais são as informações importantes para
  uma conta?




           103403 – Programação Orientada a Objetos   13
Classe



  ➢
    Quais são as informações importantes para
  uma conta?
      •   Número da conta;
      •
          Nome do dono;
      •   Saldo;
      •   Limite.




                  103403 – Programação Orientada a Objetos   14
Classe



  ➢
      Quais são as funcionalidades de uma conta?




              103403 – Programação Orientada a Objetos   15
Classe



  ➢
      Quais são as funcionalidades de uma conta?
      •   Sacar;
      •
          Depositar;
      •   Imprimir o nome do dono;
      •   Devolver o saldo atual;
      •
          Transferir uma quantidade x para uma outra conta;
      •   Devolver o tipo da conta.




                  103403 – Programação Orientada a Objetos    16
Atributos

  ➢   Declarando a classe e os atributos:

   class Conta{
     int num;
     String nome;
     double saldo;
     Double limite;
     //Métodos
  }




               103403 – Programação Orientada a Objetos   17
Métodos

  ➢   Declarando os métodos:

   class Conta{
     //atributos
     void saca(double valor){}
     void deposita(double valor){}
     void imprime(){}
     double saldo(){}
     boolean transfere(Conta destino, double
  valor){}
     String tipoConta(){}
  }


              103403 – Programação Orientada a Objetos   18
Construtores

  ➢   Declarando os métodos:

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




              103403 – Programação Orientada a Objetos   19
Prática

   ➢   Implementar alguns métodos da classe conta.




               103403 – Programação Orientada a Objetos   20
Referências


  ➢   Java: Como Programar 6ª Edição.

  ➢   Material da Caelum.




              103403 – Programação Orientada a Objetos   21

POO - Aula 04 - Introdução a classes e objetos

  • 1.
    Universidade Federal deSergipe Departamento de Computação Programação Orientada a Objetos Introdução a Classes e Objetos Felipe J. R. Vieira Última Atualização em Outubro de 2011
  • 2.
    Sumário ➢ Introdução; ➢ Classes, objetos, métodos e atributos; e ➢ Construtores. 103403 – Programação Orientada a Objetos 2
  • 3.
    Recapitulando 103403 – Programação Orientada a Objetos 3
  • 4.
    Introdução ➢ Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural; Procedimento1 Dado1 Procedimento2 Dado2 Dado3 Dado4 Procedimento3 Procedimento4 Programação Procedural 103403 – Programação Orientada a Objetos 4
  • 5.
    Introdução ➢A responsabilidade de realizar as operações nos dados está espalhada por todo o código; ➢ É interessante poder concentrar essa responsabilidade em um lugar só, para não ter chances de esquecer isso, ou de haver inconsistência. 103403 – Programação Orientada a Objetos 5
  • 6.
    Introdução 103403 – Programação Orientada a Objetos 6
  • 7.
    Introdução ➢ Para você dirigir um carro, alguém tem de projetar o carro; ➢No projeto do carro inclui o projeto do pedal acelerador para aumentar a velocidade do carro; ➢ O pedal oculta os complexos mecanismos que realmente fazem o carro ir mais rápido; ➢ Isso permite que as pessoas com pouco ou nenhum conhecimento de como os motores funcionam dirijam um carro facilmente. 103403 – Programação Orientada a Objetos 7
  • 8.
    Introdução ➢ Você não pode guiar os desenhos de engenharia de um carro. Antes ele deve ser construído a partir dos desenhos de engenharia que o descrevem; ➢ Em Java, primeiro criamos uma unidade de programa chamada classe, e assim como não se pode dirigir um desenho de engenharia de um carro, não se pode usar uma classe sem antes ela ser construída; ➢ Uma classe construída é um objeto. 103403 – Programação Orientada a Objetos 8
  • 9.
    Introdução ➢Ao dirigir um carro, o ato de pressionar o acelerador envia uma mensagem para o carro realizar uma tarefa; ➢ De maneira semelhante, envia-se mensagens para um objeto. Cada mensagem é conhecida como uma chamada de método que instrui um objeto a realizar uma tarefa. 103403 – Programação Orientada a Objetos 9
  • 10.
    Introdução 103403 – Programação Orientada a Objetos 10
  • 11.
    Introdução ➢Além das capacidades de um carro, ele também tem muitos atributos, como cor, número de portas, quantidade de gasolina, velocidade atual e total de quilômetros percorridos; ➢ De maneira semelhante, um objeto tem atributos que são portados com o objeto quando ele é utilizado em um programa. 103403 – Programação Orientada a Objetos 11
  • 12.
    Introdução ➢Osatributos são especificados pelas variáveis de instância da classe. ➢ Para melhor entendimento, vamos estudar um sistema bancário. Uma entidade muito importante neste sistema é a conta. 103403 – Programação Orientada a Objetos 12
  • 13.
    Classe ➢ Quais são as informações importantes para uma conta? 103403 – Programação Orientada a Objetos 13
  • 14.
    Classe ➢ Quais são as informações importantes para uma conta? • Número da conta; • Nome do dono; • Saldo; • Limite. 103403 – Programação Orientada a Objetos 14
  • 15.
    Classe ➢ Quais são as funcionalidades de uma conta? 103403 – Programação Orientada a Objetos 15
  • 16.
    Classe ➢ Quais são as funcionalidades de uma conta? • Sacar; • Depositar; • Imprimir o nome do dono; • Devolver o saldo atual; • Transferir uma quantidade x para uma outra conta; • Devolver o tipo da conta. 103403 – Programação Orientada a Objetos 16
  • 17.
    Atributos ➢ Declarando a classe e os atributos: class Conta{ int num; String nome; double saldo; Double limite; //Métodos } 103403 – Programação Orientada a Objetos 17
  • 18.
    Métodos ➢ Declarando os métodos: class Conta{ //atributos void saca(double valor){} void deposita(double valor){} void imprime(){} double saldo(){} boolean transfere(Conta destino, double valor){} String tipoConta(){} } 103403 – Programação Orientada a Objetos 18
  • 19.
    Construtores ➢ Declarando os métodos: class Programa{ public static void main(String[] args){ Conta minhaConta; MinhaConta = new Conta(); } } 103403 – Programação Orientada a Objetos 19
  • 20.
    Prática ➢ Implementar alguns métodos da classe conta. 103403 – Programação Orientada a Objetos 20
  • 21.
    Referências ➢ Java: Como Programar 6ª Edição. ➢ Material da Caelum. 103403 – Programação Orientada a Objetos 21