English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas as categorias

Galera, tento aprender Programação Orientada a Objetos, mas não consigo entender de jeito nenhum. Leiam isso

"Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software..."

Afinal, o que é uma classe? O que é a implementação de um conjunto de classes? Alguém pode me dizer, por favor?

2006-09-21 01:19:45 · 4 respostas · perguntado por Anonymous em Computadores e Internet Programação e Design

4 respostas

Bom, vou responder com um exemplo: imagine que vc vai fazer um sistema para controlar uma biblioteca. A princípio, vc vai precisar de:

- cadastro de todos os livros da biblioteca
- cadastro das pessoas que tem carteirinha
- um controle de quais livros estão com quais pessoas

Baseado nesses requisitos, vc poderia criar uma classe chamada Livro, que contém informações de cada livro (nome, autor, edição, etc) Assim, para representar o acervo da biblioteca, basta criar vários objetos do tipo Livro, cada um com seu respectivo nome, autor e por aí vai.

Do mesmo modo, vc cria uma classe Usuario, que tem informações das pessoas que tem a carteirinha da biblioteca (nome, endereço, etc) Para cada nova pessoa que faz a carteirinha, vc cria um novo objeto do tipo Usuario.

Para representar um empréstimo (uma pessoa que pegou um ou mais livros), vc cria uma terceira classe, chamada Emprestimo, que tem as informações do usuário e dos livros que ele pegou, além da data em que ele pegou os livros, e da data de devolução. A cada vez que alguém pega um livro, vc cria um objeto do tipo Emprestimo, contendo o Usuario e o(s) Livro(s) que ele pegou.

Até aqui, temos 3 classes (Livro, Usuario e Emprestimo). Elas juntas formam uma "implementação de um conjunto de classes".

Cada classe é um pequeno pedaço do programa, que tem um papel específico dentro dele. A classe não precisa saber o funcionamento do sistema como um todo (um livro não precisa saber quantos usuários a biblioteca tem, pois isso é irrelevante para ele). A classe só precisa saber o que interessa a ela (cada objeto Livro "sabe" seu nome e autor, cada objeto Usuario "sabe" seus dados, cada objeto Emprestimo "sabe" o dia em que o usuário deve devolver os livros)
E uma classe nunca faz coisas que não tem a ver com ela. A classe Livro, por exemplo, não poderia atualizar o nome de um objeto Usuario, cabe a própria classe Usuario fazer isso.

Quando vc programa orientado a objetos, vc pensa primeiro nas partes do programa e depois pensa em como juntá-las (resumindo brevemente, pois no fundo é mais que isso)
E cada uma dessas partes é uma classe. Cada classe é responsável pelas tarefas que dizem respeito somente a ela.

E para juntar as partes? Simples, vc faz uma outra classe que sabe como juntá-las. No nosso exemplo, vc poderia criar a classe Bibliotecario, que sabe como cadastrar livros, usuários e empréstimos.

Espero ter esclarecido um pouco :-)

2006-09-21 12:24:17 · answer #1 · answered by hkotsubo 2 · 2 0

Por exemplo: um carimbo, ele seria a Classe. E quando vc o usa para reproduzir em um papel a sua imagem, esta imagem seria o objeto. Ou seja, a partir de um carimbo, vc reproduz a mesma imagem diversas vezes = a partir de uma classe, vc pode criar vários objetos iguais.

EXEMPLO:

class Classe {
String nomeDeAlgo = null;
}


Classe seuObjeto1 = new Classe();
Classe seuObjeto2 = new Classe();
Classe seuObjeto3 = new Classe();


Acima eu criei uma classe, e logo em seguida, criei três objetos. Mas só é possivel eu criar esses objetos por que a classe existe. A classe é como se fosse a forma para fazer um bolo, ou um molde para fazer uma peça de gesso, eu a uso para dizer o formato que o objeto vai ter.



Voltando ao carimbo: A imagem que o carimbo reproduz no papel pode ser pintada com lapiz de cor, ou seja, eu posso preencher a minha imagem com cores diferentes. O formato do desenho que o carimbo reproduz sempre vai ser a mesma, mas posso pintar com cores diferentes (diferentes conteúdos para cada imagem).

Assim também funcionam os objetos. A partir de uma classe, posso criar vários objetos com o mesmo formato (o formato da classe), mas dentro de cada um deles, posso colocar, por exemplo, diferentes nomes.

Os objetos que serão criados a partir da classe dada aciam, só poderão ter 'nomeDeAlgo', pois foi o único atributo (seria o espaço para pintar no desenho do carimbo) que foi criado na Classe, logo, suas cópias o terão e poderão guardar qualquer nome dentro dele:
seuObjeto1.nomeDeAlgo = "Primeiro Objeto";
seuObjeto2.nomeDeAlgo = "Segundo Objeto";
seuObjeto3.nomeDeAlgo = "Terceiro Objeto";

Por fim: Tem-se três objetos com conteúdos diferentes e que foram criados a partir de uma mesma classe.

Acho que deu para entender a diferença entre objeto e classe.

Quando vc cria um objeto, está implementando (usando (neste caso)) uma classe.

Implementação de um conjunto de classes nada mais é do que você criar objetos (e estes só podem ser criados a partir de classes) a partir desse conjunto de classes (ou seja, você estará usando classes desse conjunto para criar objetos, logo está implementando essas classes(as usando)).

Espero ter ajudado!!!

2006-09-22 18:33:52 · answer #2 · answered by Paula 1 · 2 0

Uma classe é a abstração de um objeto real. Por exemplo: uma porta. É um objeto real. A classe porta contém tudo que a porta é, e tudo que a porta faz (métodos e atributos). A porta tem uma cor (atributo), tem uma altura (atributo), tem um tipo de material (madeira ou ferro)(atributo). Temos também as ações que podemos exercer sobre a porta: abrir (método), fechar (método).
A classe porta ficaria + / - assim:
+=========+
| porta | <= nome da classe
+=========+
| cor |
| altura | <= atributos
| material |
+=========+
| abrir | <= métodos
| fechar |
+=========+

Descrevi uma classe bem básica, porém, dependendo da complexidade do objeto, podem surgir 'n' atributos e métodos.

Um conjunto de classes são várias classes que comunicam-se e alteram seus estados (métodos). Por exemplo, se tivéssemos uma classe pessoa, essa classe poderia interagir com a classe porta, mudando o estado da mesma (aberta ou fechada).
É um conjunto de classes que fazem com que o sistema responda às diversas ações do usuário, tudo programado usando a linguagem que vc preferir.

2006-09-21 13:20:49 · answer #3 · answered by Master_plus_plus! 2 · 2 0

Uma classe é um modelo usado para definir vários objetos com características semelhantes. Um programa é constituído de uma classe ou de um conjunto de classes. Os elementos básicos de uma classe são chamados membros da classe e podem ser divididos em duas categorias:
As variáveis, que especificam o estado da classe ou de um objeto instância desta classe.
Os métodos, que especificam os mecanismos pelos quais a classe ou um objeto instância desta classe podem operar. O esqueleto de uma classe apresenta-se da seguinte maneira:

class NomeDaClasse{
...
TipoDaVariahvel1 variahvel1;
TipoDaVariahvel2 variahvel2;
...

TipoDeRetorno1 mehtodo1(){
...
}

TipoDeRetorno2 mehtodo2(){
...
}
...
}

2006-09-21 08:31:31 · answer #4 · answered by Dr. Joel - Fortaleza 3 · 2 0

fedest.com, questions and answers