Programação Orientada
                     a Objetos com Java

                           Aula 2
                    Revisão de Classes e
                          Objetos

Professor Eduardo Costa
Conteúdo de Hoje




       Objetos
       Classes
   Instanciação
Encapsulamento
  Construtores
Objetos

Definição
– “Qualquer coisa, real ou abstrata, a respeito da qual armazenamos
dados e métodos que os manipulam” Martin, Odell (1995)

– Abstração de uma entidade do mundo real de modo que essa
entidade possui várias características

Exemplo : cachorro, casa, carro


- Tudo em Orientação a Objeto é OBJETO
- Objeto, no mundo físico, é tipicamente um produtor e consumidor
de itens de informação

Exemplo: máquina, comandos, arquivos, pessoas, sinais

                                                                      3
Mais sobre Abstração

•Uma boa abstração:
– dá ênfase a detalhes que são significativos ao usuário
– suprime detalhes que são insignificantes no contexto

Chassis               Decomposição
                                                           Motor

                                                            Faróis
Pneu
Aro     Rodas

Parafuso


                                                                   4
Classe carro   Objeto carro




                              5
Conceito de Classe

     •Considere um programa para um banco, e bem fácil perceber
     que um modelo extremamente importante para o nosso sistema é
     a conta.

     •Nossa idéia aqui e abstrair alguma informação, juntamente com
     funcionalidades que toda conta deve ter.

     •O que toda conta tem e é importante para nós ?
     numero da conta, nome do cliente, saldo , limite

     •O que toda conta faz e é importante para nós?
     Isto é, o que gostaríamos de “pedir para a conta” :
     saca uma quantidade x, deposita uma quantidade x ,
FI
M
     imprime o nome do dono da conta, devolve o saldo atual
     transfere uma quantidade x para uma outra conta y
     devolve o tipo de conta
Classe
     O que foi especificado acima sobre Conta, pode ser facilmente
     traduzido para Java:




     Por enquanto declaramos o que toda conta deve ter. Estes são os
     atributos que toda conta, quando criada ira ter.

     Repare que essas variáveis foram declaradas fora de um método.
FI
M
     Quando uma variável é declarada diretamente dentro do escopo da
     classe, é chamada de variável de objeto, ou atributo.
Classes

     Agora temos uma classe, que especifica o que todo objeto deve ter.
     Mas como usá-la ?

     Devemos criar uma outra classe Programa.java, e a partir dela
     usar a Conta.




FI
M
Classes

     Através da variável minhaConta agora podemos acessar o objeto
     recém criado para alterar seu nome, seu saldo etc:




FI
M
Instanciação
     Ao modelo da conta, damos o nome de classe.
     O que podemos construir a partir desse modelo, que são as
     contas de verdade, damos o nome de objetos.

     Um outro exemplo: uma receita de bolo, Você come uma receita
     de bolo? Não. Precisamos instaciá la, criar um objeto bolo a
     partir dessa especificação (a classe) para utilizá la. Podemos criar
     centenas de bolos a partir dessa classe (a receita, no caso), eles
     podem ser bem semelhantes, alguns até idênticos, mas são
     objetos diferentes.

     A planta de uma casa é uma casa? Não. Não podemos morar
     dentro de uma planta de uma casa, nem podemos abrir sua porta
FI
M    ou pintar suas paredes. Precisamos antes construir instâncias a
     partir dessa
     planta.
Importação de Classes


     Geralmente classes usam outras classes, e para fazer isso é necessário
     importá-las ou usar seus nomes completos

        •A importação diz ao compilador em que pacote achar as classes

        •Classes que estejam no mesmo pacote nao precisam ser
        importadas, o compilador ja as entende como "disponíveis“

     A declaração de importação usa a palavra reservada import, e deve
     ficar sempre entre a declaração de pacote e a declaração de classe

     O pacote java.lang e sempre importado implicitamente, pois contém
     classes fundamentais da plataforma Java
FI
M
Modificadores de Acesso

Cada atributo e método podem receber um modificador de acesso, que
define quais classes pode acessá-lo

Existem quatro níveis de acesso, mostrados com palavras reservadas:

     •private: acesso somente pela própria classe
     •(nenhuma): acesso somente pelas classes do mesmo pacote
     •protected: acesso pelas classes do mesmo pacote e pelas classes
     derivadas
     •public: acesso por todas as classes

O modificador de acesso e escrito antes do tipo do atributo ou do tipo de
retorno do método
FI
M
Modificadores de Acesso




       B pode acessar b, c, d
 M
       C pode acessar b, c, d
od
ific
       D pode acessar c, d
ad
 or    E pode acessar somente d
es
 2
Saia na frente
                               1) Leia a apostila com os conceitos
                                  básico da linguagem Java;
                               2) Assista aos vídeos disponíveis no link
                                  abaixo;




Videos de propaganda
YouTube - Java is Everywhere - legendado http://bit.ly/qzF1O
YouTube - Java Everywhere, Anywhere legendado http://bit.ly/11ddFu


Vídeos Com introdução ao Eclipse
Java Iniciante - Instalação e Uso JDK - http://bit.ly/Pa6Z
Java Iniciante – Eclipse basico http://bit.ly/14yMJW

               *Arquivos complementares disponíveis no arquivo Material de apoio.zip

2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos

  • 1.
    Programação Orientada a Objetos com Java Aula 2 Revisão de Classes e Objetos Professor Eduardo Costa
  • 2.
    Conteúdo de Hoje Objetos  Classes Instanciação Encapsulamento Construtores
  • 3.
    Objetos Definição – “Qualquer coisa,real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam” Martin, Odell (1995) – Abstração de uma entidade do mundo real de modo que essa entidade possui várias características Exemplo : cachorro, casa, carro - Tudo em Orientação a Objeto é OBJETO - Objeto, no mundo físico, é tipicamente um produtor e consumidor de itens de informação Exemplo: máquina, comandos, arquivos, pessoas, sinais 3
  • 4.
    Mais sobre Abstração •Umaboa abstração: – dá ênfase a detalhes que são significativos ao usuário – suprime detalhes que são insignificantes no contexto Chassis Decomposição Motor Faróis Pneu Aro Rodas Parafuso 4
  • 5.
    Classe carro Objeto carro 5
  • 6.
    Conceito de Classe •Considere um programa para um banco, e bem fácil perceber que um modelo extremamente importante para o nosso sistema é a conta. •Nossa idéia aqui e abstrair alguma informação, juntamente com funcionalidades que toda conta deve ter. •O que toda conta tem e é importante para nós ? numero da conta, nome do cliente, saldo , limite •O que toda conta faz e é importante para nós? Isto é, o que gostaríamos de “pedir para a conta” : saca uma quantidade x, deposita uma quantidade x , FI M imprime o nome do dono da conta, devolve o saldo atual transfere uma quantidade x para uma outra conta y devolve o tipo de conta
  • 7.
    Classe O que foi especificado acima sobre Conta, pode ser facilmente traduzido para Java: Por enquanto declaramos o que toda conta deve ter. Estes são os atributos que toda conta, quando criada ira ter. Repare que essas variáveis foram declaradas fora de um método. FI M Quando uma variável é declarada diretamente dentro do escopo da classe, é chamada de variável de objeto, ou atributo.
  • 8.
    Classes Agora temos uma classe, que especifica o que todo objeto deve ter. Mas como usá-la ? Devemos criar uma outra classe Programa.java, e a partir dela usar a Conta. FI M
  • 9.
    Classes Através da variável minhaConta agora podemos acessar o objeto recém criado para alterar seu nome, seu saldo etc: FI M
  • 10.
    Instanciação Ao modelo da conta, damos o nome de classe. O que podemos construir a partir desse modelo, que são as contas de verdade, damos o nome de objetos. Um outro exemplo: uma receita de bolo, Você come uma receita de bolo? Não. Precisamos instaciá la, criar um objeto bolo a partir dessa especificação (a classe) para utilizá la. Podemos criar centenas de bolos a partir dessa classe (a receita, no caso), eles podem ser bem semelhantes, alguns até idênticos, mas são objetos diferentes. A planta de uma casa é uma casa? Não. Não podemos morar dentro de uma planta de uma casa, nem podemos abrir sua porta FI M ou pintar suas paredes. Precisamos antes construir instâncias a partir dessa planta.
  • 11.
    Importação de Classes Geralmente classes usam outras classes, e para fazer isso é necessário importá-las ou usar seus nomes completos •A importação diz ao compilador em que pacote achar as classes •Classes que estejam no mesmo pacote nao precisam ser importadas, o compilador ja as entende como "disponíveis“ A declaração de importação usa a palavra reservada import, e deve ficar sempre entre a declaração de pacote e a declaração de classe O pacote java.lang e sempre importado implicitamente, pois contém classes fundamentais da plataforma Java FI M
  • 12.
    Modificadores de Acesso Cadaatributo e método podem receber um modificador de acesso, que define quais classes pode acessá-lo Existem quatro níveis de acesso, mostrados com palavras reservadas: •private: acesso somente pela própria classe •(nenhuma): acesso somente pelas classes do mesmo pacote •protected: acesso pelas classes do mesmo pacote e pelas classes derivadas •public: acesso por todas as classes O modificador de acesso e escrito antes do tipo do atributo ou do tipo de retorno do método FI M
  • 13.
    Modificadores de Acesso B pode acessar b, c, d M C pode acessar b, c, d od ific D pode acessar c, d ad or E pode acessar somente d es 2
  • 14.
    Saia na frente 1) Leia a apostila com os conceitos básico da linguagem Java; 2) Assista aos vídeos disponíveis no link abaixo; Videos de propaganda YouTube - Java is Everywhere - legendado http://bit.ly/qzF1O YouTube - Java Everywhere, Anywhere legendado http://bit.ly/11ddFu Vídeos Com introdução ao Eclipse Java Iniciante - Instalação e Uso JDK - http://bit.ly/Pa6Z Java Iniciante – Eclipse basico http://bit.ly/14yMJW *Arquivos complementares disponíveis no arquivo Material de apoio.zip