.NET

1 jun, 2010

Platão e a orientação a objetos

Publicidade

Olá pessoal, nesse artigo gostaria de falar sobre um assunto que para muitos de nós é algo tão comum quanto escovar os dentes, mas, para muitas outras pessoas é um verdadeiro tormento. Estou falando da orintação a objetos.

Muitos programadores iniciantes (ou não) ficam um pouco perdidos em entender os conceitos da orientação a objetos e isso acontece por diversos motivos, eis alguns deles:

  • Necessidade de querer códificar em linguagens orientadas a objetos antes mesmo de entender seus conceitos básicos
  • Dificuldade de migrar do estilo procedural para o padrão orientado a objetos
  • Dificuldade de abstrção na hora de entender o que é a orientação a objetos

Bem, dito isto vão tentar explicar aqui alguns conceitos básicos para o estudo da orientação a objetos. E de maneira inovadora, utilizarei o filósofo grego Platão e sua famosa Teoria das Idéias para me ajudar.

  • Classe

Segundo Platão, cada objeto concreto que existe participa, junto com  todos os outros objetos de sua categoria de uma idéia perfeita. Uma determinada caneta, por exemplo, terá determinados atributos (cor,
formato, tamanho etc). Outra caneta terá outros atributos, sendo ela
também uma caneta, tanto quanto a outra. Aquilo que faz com que as duas
sejam canetas é, para Platão, a Idéia de Caneta, perfeita, que esgota
todas as possibilidades de ser caneta.

A “Idéia” perfeita será a nossa classe, que conterá todos os atributos necessários para qualquer objeto que provenha dela.

<code>public class Caneta {</code>

private String cor;
private String formato;
private String tamanho;

public String getCor() {
return cor;
}
public void setCor(String cor) {
this.cor = cor;
}
public String getFormato() {
return formato;
}
public void setFormato(String formato) {
this.formato = formato;
}
public String getTamanho() {
return tamanho;
}
public void setTamanho(String tamanho) {
this.tamanho = tamanho;
}
}

Bem pessoal, temos ai a nossa classe Caneta. É dela que poderemos criar nossos objetos.

Idenpendente das caracteristicas que os objetos tenha, a classe será sempre a “Idéia Perfeita” da nossa caneta.

  • Objeto

Pegando um gancho no conceito de classes, todas as canetas que existem provêm da “Idéia” caneta, ou seja, elas são as istâncias da classe, são nossos objetos.

<code>Caneta canetaPreta = new Caneta();
canetaPreta.setCor("Preta");
canetaPreta.setTamanho("Grande");</code>

Caneta canetaAzul = new Caneta();
canetaAzul.setCor(“Azul”);
canetaAzul.setFormato(“Retangular”);

Nesse momento temos dois objetos da classe caneta, cada um deles tem suas características específicas, mas ainda assim fazem parte da “Idéia” caneta ou seja, a nossa classe caneta.

  • Atributos

Os atributos são as características do nosso objeto. No nosso exemplo seria a cor, formato e o tamanho.

  •  Métodos

Os métodos são as ações que o nosso objeto poderá tomar. No caso da caneta, um método dela seria o método escrever.
A nossa classe seria responsável por armazenar esse método e assim como os atributos, troná-lo disponível para seus objetos. O nosso método “escrever” recebe um texto como parâmetro e o exibe.

<code>public class Caneta {</code>

private String cor;
private String formato;
private String tamanho;

public String getCor() {
return cor;
}
public void setCor(String cor) {
this.cor = cor;
}
public String getFormato() {
return formato;
}
public void setFormato(String formato) {
this.formato = formato;
}
public String getTamanho() {
return tamanho;
}
public void setTamanho(String tamanho) {
this.tamanho = tamanho;
}
//Método escrever
public String escrever(String texto) {
System
.out.println(texto);
}
}

  • Considerações Finais

Pessoal, como eu disse no início do artigo, a idéia aqui é mostrar uma outra visão sobre os conceitos básicos da orientação a objeto.
Não quis escrever sobre herança ou polimorfismo, porque esses dois temas devem ser os próximos tópicos de estudo depois de classe, objeto, atributo e método.

Se você ainda não programa orientado a objetos não se preocupe, é mais simples do que você imagina.
Basta se dedicar e estudar bastante que você vai começar a ver o mundo orientado a objetos.

Bom pessoal, é isso e até o próximo artigo.