SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Processo de Teste de Software - Monografia
Processo de Teste de Software - MonografiaProcesso de Teste de Software - Monografia
Processo de Teste de Software - MonografiaRodrigo Kammers
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testesIsaias Silva
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxALEXANDRELISBADASILV
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 

Was ist angesagt? (20)

Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Processo de Teste de Software - Monografia
Processo de Teste de Software - MonografiaProcesso de Teste de Software - Monografia
Processo de Teste de Software - Monografia
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptx
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Teste de software
Teste de softwareTeste de software
Teste de software
 

Andere mochten auch

POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfaceFelipe J. R. Vieira
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Declarações e Controle de Acesso
Declarações e Controle de AcessoDeclarações e Controle de Acesso
Declarações e Controle de AcessoElenilson Vieira
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layoutsArmando Daniel
 
Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)guest18b3c00
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Sérgio Souza Costa
 
Polimorfismo
PolimorfismoPolimorfismo
PolimorfismoCaveiras
 

Andere mochten auch (20)

POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e Interface
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Lista2
Lista2Lista2
Lista2
 
Declarações e Controle de Acesso
Declarações e Controle de AcessoDeclarações e Controle de Acesso
Declarações e Controle de Acesso
 
Programacao em java
Programacao em javaProgramacao em java
Programacao em java
 
Tutorial javac
Tutorial javacTutorial javac
Tutorial javac
 
PCII - AULA 2: HERANÇA EM JAVA
PCII -  AULA 2: HERANÇA EM JAVAPCII -  AULA 2: HERANÇA EM JAVA
PCII - AULA 2: HERANÇA EM JAVA
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)Programação Orientada A Objectos (Poo)
Programação Orientada A Objectos (Poo)
 
POO Herança
POO HerançaPOO Herança
POO Herança
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 

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

POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresFelipe J. R. Vieira
 
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaPOO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaFelipe J. R. Vieira
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao JavaFelipe J. R. Vieira
 
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOAula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOCloves da Rocha
 
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOAula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOCloves da Rocha
 
Aula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdfAula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdfDaniloPereira341965
 
Aula04 android intents
Aula04 android intentsAula04 android intents
Aula04 android intentsRoberson Alves
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhouserrx
 
Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleAdriano Teixeira de Souza
 
Estimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoEstimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoE-NOVAR Solutions
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4spawally
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosMessias Batista
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_finaluserrx
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisMarcos Pessoa
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1Carlos Melo
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWInstituto Federal de Sergipe
 

Ähnlich wie POO - Aula 04 - Introdução a classes e objetos (20)

POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e Vetores
 
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaPOO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
 
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOAula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
 
SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOAula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
 
Aula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdfAula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdf
 
Aula04 android intents
Aula04 android intentsAula04 android intents
Aula04 android intents
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
 
Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de Controle
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
Estimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoEstimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de Uso
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_final
 
Plano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiaisPlano do projeto de software SIGEM - Sistema de gestão de materiais
Plano do projeto de software SIGEM - Sistema de gestão de materiais
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 

Mehr von Felipe J. R. Vieira

ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasFelipe J. R. Vieira
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisFelipe J. R. Vieira
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)Felipe J. R. Vieira
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesFelipe J. R. Vieira
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoFelipe J. R. Vieira
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoFelipe J. R. Vieira
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoFelipe J. R. Vieira
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaFelipe J. R. Vieira
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaFelipe J. R. Vieira
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalFelipe J. R. Vieira
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos IniciaisFelipe J. R. Vieira
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeFelipe J. R. Vieira
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoFelipe J. R. Vieira
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosFelipe J. R. Vieira
 
MC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoMC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoFelipe J. R. Vieira
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosFelipe J. R. Vieira
 
Serviços Web para Geração Otimizada da Grade de Horários de Disciplinas
Serviços Web para Geração Otimizada da Grade de Horários de DisciplinasServiços Web para Geração Otimizada da Grade de Horários de Disciplinas
Serviços Web para Geração Otimizada da Grade de Horários de DisciplinasFelipe J. R. Vieira
 

Mehr von Felipe J. R. Vieira (20)

ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
MC – Aula 11 – Aplicativos
MC – Aula 11 – AplicativosMC – Aula 11 – Aplicativos
MC – Aula 11 – Aplicativos
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas Operacionais
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de Repetição
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de Acesso
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional Múltipla
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e Memória
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos Iniciais
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da Computação
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
 
MC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoMC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da Computação
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
 
Tutorial do dica
Tutorial do dicaTutorial do dica
Tutorial do dica
 
Serviços Web para Geração Otimizada da Grade de Horários de Disciplinas
Serviços Web para Geração Otimizada da Grade de Horários de DisciplinasServiços Web para Geração Otimizada da Grade de Horários de Disciplinas
Serviços Web para Geração Otimizada da Grade de Horários de Disciplinas
 

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

  • 1. 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
  • 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 ➢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
  • 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