quinta-feira, 19 de abril de 2012

O que é uma Classe, Atributo e Método?

Uma classe é uma abstração que define um tipo de objeto e o que objetos deste determinado tipo tem dentro deles (seus atributos) e também define que tipo de ações esse tipo de objeto é capaz de realizar (métodos).
É normal não entender isso logo de cara, mas os conceitos de classes e subclasses são relativamente simples: Tente pensar no conceito de Classes utilizado na Biologia: um animal é uma classe, e tem suas características: é um ser vivo capaz de pensar, precisa se alimentar para viver, etc, etc. O Ser Humano é uma sub-classe dos animais. Ele tem todas as características de um animal, mas também tem algumas peculiaridades suas, não encontradas nas outras sub-classes de animais. Os pássaros também são animais, mas possuem características próprias.
Note que uma Classe não tem vida, é só um conceito. Mas os Objetos (animais, serem humanos, pássaros, etc) possuem vida. O seu cachorro rex é um Objeto (ou instância) da classe Cachorro. A classe Cachorro não pode latir, não pode fazer xixi no poste, ela apenas especifica e define o que é um cachorro. Mas Objetos do tipo Cachorro, estes sim podem latir, enterrar ossos, ter um nome próprio, etc
A criação de uma nova Classe é dividida em duas partes: os seus atributos e os seusmétodos. Os atributos são variáveis que estarão dentro de cada um dos objetos desta classe, e podem ser de qualquer tipo. Por exemplo, a classe Cachorro poderá ter o atributo nome que será do tipo String. Assim, cada Objeto desta classe terá uma variável própria chamada nome, que poderá ter um valor qualquer (Rex, Frodo, Atila, ...).
Métodos serão as ações que a Classe poderá realizar. Quando um objeto desta classe receber uma mensagem de algum outro objeto contendo o nome de um método, a ação correspondente a este método será executada. Por exemplo, caso um objeto da classe Dono envie uma mensagem para um objeto do tipo Cachorro falando "sente", o cachorro irá interpretar esta mensagem e conseqüentemente irá executar todas as instruções que foram especificadas na classe Cachorro dentro do método sente.

Nenhum comentário: