Dúvida sobre OO [RESOLVIDO]

Olá,

Em meus estudos sobre Orientação a Objetos me deparei com uma dúvida ridícula, porém necessária…rs :lol:
Pessoa é considerada uma classe ou um Objeto? Por exemplo, Maria é um objeto da Classe Pessoa? Alguém poderia me esclarecer isso!

Grata,

Um objeto é uma instância de uma classe.

ex.:

Declara a classe Pessoa.

public class Pessoa {
...
}

Instancia dois objetos (“joao” e “maria”) do tipo (casse) Pessoa.

public class TestePessoa {
...
   public static void main(String[] args) {
      Pessoa joao = new Pessoa();
      Pessoa maria = new Pessoa();
   }
}

[]s.

Depende do contexto…

Você poderia ter uma classe SerVivo por exemplo, onde pessoa poderia ser um objeto desta classe. Por outro lado você poderia ter uma classe Pessoa e um objeto desta classe maria. Entendeu?!

Abraço!

Imagine que classe é uma forma de fazer objetos.
Uma planta (nao o vegetal) de uma casa é uma classe, e cada casa construida daquela planta seria um objeto.
E por ai vai

:smiley:

Hai!
Exatamente! Maria é um objeto da classe Pessoa. Pois pessoas só descreve os atributos e capacidades e Maria é uma instância desses atributos e capacidades. Quando vc faz:

Pessoa maria = new Pessoa(); Vc está instânciando um Objeto da Classe Pessoa e dando a ele o nome de maria.

abraços

Certo, e no caso de Carro, ele é um objeto ou uma classe?! Por exemplo Pálio é um objeto da classe Carro?

Pessoa é um objeto da classe SerVivo ou é uma subclasse, já que SerVivo seria uma superclasse? Ou estou falando besteira?! :lol:

Bem… se eu entendi a sua dúvida é o seguinte…

temos a classe pessoa abaixo:

public class Pessoa{
    private String nome;
    private int idade;
}

e podemos instanciar um objeto do tipo Pessoa

Pessoa maria = new Pessoa();

agora maria é um objeto do tipo Pessoa

falowss

Dúvida clássica…

Classe é apenas a especificação de como um objeto deve ser. E , em teoria , não deve nem pode ser acessada diretamente.

O objeto é a instância ( um cópia , uma versão ) de uma classe que “existe” fisicamente e poderá ser acessada através de seu código.

Exatamente!

Procure guardar essas definições por enquanto:

Classe: tipo definido pelo usuário.
Objeto: instância de uma classe.
Instância: termo “sofisticado” para criação.

Exemplo: Vc pode abrir várias janelas do Internet Explorer, mas só existe apenas 1 instalado na sua máquina. Procure usar esse raciocínio também!

E boa sorte nos estudos!

Certo, e no caso de Carro, ele é um objeto ou uma classe?! Por exemplo Pálio é um objeto da classe Carro?

Pessoa é um objeto da classe SerVivo ou é uma subclasse, já que SerVivo seria uma superclasse? Ou estou falando besteira?!

Pode até ser que Palio seja um objeto da classe carro. Mas você tbm poderia ter uma classe Palio e um objeto desta classe, cujo nome poderia ser, por exemplo, a placa daquele Palio específico entende? Ou seja, daquela INSTÂNCIA da classe Palio.

Classe: Um modelo gerado por abstração de algo que existe no mundo real. Por exemplo, podemos ter a classe Livro. Um livro sempre deverá possuir alguns atributos padrão, como capa, número de páginas, assunto, etc…
Dentro desta idéia, podemos ter diversos objetos da classe Livro, ou seja, diversos livros, cada um com sua respectiva capa, numero de paginas, etc…
:smiley:

Novata, é como o pessoal está tentando dizer. Resumidamente: uma classe é apenas a definição de um objeto, e um objeto é a instanciação de uma classe… Independentemente da relação lógica (semântica) entre as classes ou objeto.

Por exemplo:

“Carro” (abaixo) é uma classe:

public class Carro {
...
}

“Palio” (abaixo) também é uma classe - que estende Carro:

public class Palio extends Carro {
  boolean MotorFire = true;
...
}

“palio” (abaixo) é um objeto (instância) de Carro:

...
  Carro palio = new Carro();
...
}

Agora, “palio” (abaixo) é um objeto (instância) de Palio:

...
  Palio palio = new Palio();
...
}

Ou seja, não é porque semanticamente palio é um carro que na OO um palio é um objeto do tipo carro. Lembre-se, classe é a definicição de um objeto, enquanto que objeto é a instanciação de uma classe: você pode ter vários objetos (“palio”, “chiclete”, “bola”) todo do tipo (classe) “carro”.

OK!

Dúvidas esclarecidas!! Obrigada a todos pela ajuda!

Bjos!
:smiley:

[quote=novata]Certo, e no caso de Carro, ele é um objeto ou uma classe?! Por exemplo Pálio é um objeto da classe Carro?

Pessoa é um objeto da classe SerVivo ou é uma subclasse, já que SerVivo seria uma superclasse? Ou estou falando besteira?! [/quote]
Você que está modelando quem vai dizer, se Palio é um objeto ou classe.

Se você achar que no seu problema deverá existir diversos elementos , ou instâncias ou objetos de um Palio, então você deve definir uma classe para Palio.

Mas se no seu problema você não tem necessidade de ter instâncias de Palio, então ele não seria uma classe.

Ou seja, tudo depende do ponto de vista que você encherga o mundo real na visão O.O.

Não existe uma regra definida para isso, uma descrição do contexto ajuda a identificar classes, objetos etc…

Novata,

Uma classe é uma construção lógica, um modelo. Enquanto um objeto é a realidade física daquela classe.

Um exemplo seria um engenheiro que projetou uma casa. Poderiamos chamar a planta que ele projetou lá no seu escritório, aquele punhado de papel cheio de referencias e atributos, de Classe. Vamos chamar essa classe de Classe Casa. Ela ainda não tem a realidade física (não foi construida). Esse seria nosso exemplo de Classe.
Só reforçando, uma classe é uma construção lógica, um modelo (template).

Agora passado um tempo aquela casa que ele projetou foi construída lá no Setor Caixa Prego. Tá toda pintadinha e já foi entregue para o dono. Tá um brinco a casa. Pronto, ai temos um Objeto. Essa casa “construída” é um Objeto da Classe Casa. Porque um Objeto da Classe Casa? Porque a classe Casa (aquela planta que o engenheiro desenhou lá no seu escritório) pode ser utilizada para construir muitas outras Casas (Objetos) na cidade. Só lembrando, um Objeto é a realidade física daquela classe.

Espero ter sanado suas dúvidas.

Olá Novata,

Aí vai um Tutorial simples e legal para você, sobre OO.

:arrow: http://www.dca.fee.unicamp.br/cursos/PooJava/index.shtml

Abraço,

:wink:

Oi gente!

Obrigada a todos vocês pela ajuda e os esclarecimentos!!
:smiley:

Ah, obrigada Lorena pelo Tutorial!

Bjs,