segunda-feira, 18 de janeiro de 2010

OO - Conceitos básicos

Bem.. to dando uma reciclada básica nos meus conhecimentos sobre OO, Java, C#.. etc.. Realmente sou apaixonada por tudo que cheira OO! É Lindo! Ruby on Rails também está na minha lista..

E como boa apaixonada, resolvi postar aqui um mini tutorial sobre o Modelo de Programação Orientado a Objetos. Vou usar como respaldo o material de treinamento do MSDN, que é muito bom.

Abraço a tds!

fonte: MSDN Training.

O que é uma Classe?



A raiz da palavra classificação é class. E classificar é algo que todos os seres humanos sabem fazer, não apenas os programadores. Por exemplo, um carro. Todos os carros compartilham um comportamento em comum (eles correm, e freiam) e atributos em comum (eles possuem rodas, motor...). Você usa a palavra carro para se referir a todo esse conjunto de comportamentos e atributos. Imagine se você não pudesse com uma só palavra designar esse conjunto? Toda vez em que quisesse falar sobre um carro precisaria mencionar todos esses atributos e comportamentos referentes a ele para que pudessem compreender-lo. De fato isso tornaria nossa comunicação um tanto complicada!


Classes não se restringem apenas a classificar objetos concretos (como o carro). Elas também podem classificar conceitos abstratos como o tempo. Quando se trata conceitos abstratos os limites se tornam pouco claros e um bom desenho se torna muito importante.
Sendo assim uma classe é um determinado conjunto de propriedades e funções (ações ou comportamento) que definidas com um determinado objetivo em comum.




O que é um Objeto?

Um objeto é uma instância de uma classe. A palavra carro pode ganhar significado diferentes dependendo do contexto. As vezes nós usamos a palavra carro para se referir ao conceito geral de carro: nós falamos de carro como uma classe, demonstrando o conjunto de todos os carros, sem nenhum carro específico em mente. Em outro momento nós usamos a palavra carro para descrever um carro específico. Programadores usam o termo objeto ou instância para se referir ao um determinado carro específico. É muito importante compreender esta diferença.
Três características constituem um excelente meio de se entender os objetos: Identidade, Comportamento e Estado (Identity, Behavior and State).

Identidade


É uma característica que distingue um objeto de todos os outros dentro de uma mesma classe. Ou seja é a identificação do objeto que garante sua unicidade.

Comportamento

É a característica que define a utilidade do objeto. Objetos existem para permitir determinados comportamentos. Objetos de uma mesma classe compartilham o mesmo comportamento. Um carro é um carro porque você pode dirigi-lo. Uma caneta é uma caneta porque você pode escrever com ela.

Estado

Esta característica se refere ao funcionamento interno de um objeto. Um objeto bem definido mantém seu estado inacessível. Isto está intimamente ligado ao conceito de abstração e encapsulamento. Dois objetos podem possuir um mesmo estado, todavia serão dois objetos diferentes. Por exemplo: dois gêmeos identicos podem possuir um mesmo estado (mesmo DNA) mas continuarão sendo duas pessoas diferentes.


Por hoje é só. Depois posto mais sobre OO.

byPIU

Um comentário:

Anônimo disse...

quello che stavo cercando, grazie