Blog do Lud

Archive for the ‘O.O’ Category

Orientação a Objetos — Classes

leave a comment »

Classes são elementos fundamentais na composição de softwares orientados a objetos, podemos entende-lás como descrições genéricas ou coletivas de entidades do mundo real. Mantém-se aqui a intenção de aproximar entidades mundanas da representação computacional. Desta forma, a definição das classes de um sistema deverá procurar inspiração nas entidades do mundo real.

Ao contrário dos objetos, que representam entidades individualizadas, as classes são representações genéricas, elas são abstrações de um coletivo de entidades semelhantes.

Uma classe para Orientação à Objetos (O.O) é como uma receita de bolo, você não come uma receita de bolo, mas a usa como referência para preparar o bolo. A função da classe é semelhante a receita do bolo a utilizamos para criar um objeto bolo a partir de suas especificações, o ato da criação do objeto pela classe é conhecido como “instanciar o objeto”. Podemos criar centenas de bolos a partir da mesma receita (classe), eles podem ser bem semelhantes, alguns idênticos, mas são objetos diferentes.

Umas das principais dificuldades para um iniciante é entender a diferença entre Classe e Objeto.

Agora você é capaz de perceber que não criamos vários objetos e sim a classe encarregada de criá-los, definimos nela as características dos objetos (atributos e métodos) necessários para a instanciar os objetos.

As classes possuem em sua estrutura:

Construtores – definem o comportamento no momento da criação de um objeto de uma classe.

Destrutor – define o comportamento no momento da destruição do objeto de uma classe. Normalmente, como em C++, é utilizado para liberar recursos do sistema (como memória). Em Java essa função é substituída pelo Garbage Collector

Propriedades – define o acesso a um estado do objeto.

Eventos – define um ponto em que o objeto pode chamar outros procedimentos de acordo com seu comportamento e estado interno.

Uma classe possuí ainda encapsulamento, herança e pode fazer uso de polimorfismo, conceitos que serão explicados em outros post.

O importante agora é assimilar claramente a função da Classe não confundindo com Objetos.

Referências:

Caelum Curso FJ-11 Java e OO

O exemplo da receita de bolo é usado por vários autores, mas eu utilizei explicitamente ao dessa excelente apostila de Java fornecida gratuitamente pela Caelum.

Wiki Classes

Written by Ricardo Ludwig

June 2, 2007 at 6:58 pm

Posted in Java, O.O, UML

Introdução à Programação Orientada a Objetos

leave a comment »

Olá a todos, nesse post darei uma breve introdução à OPP, tentarei evitar os formalismos de livros e dos milhares de tutorias que podemos encontrar pela Internet.
O paradigma da programação OPP consiste em tornar a forma como programamos mais próxima da maneira com interagimos com o mundo real, diferentemente da forma que ocorre com a programação estruturada onde trabalhamos com funções que realizam ações na programação OPP trabalhamos com objetos que possuem atributos e métodos tais como os objetos reais.
Mas o que são atributos e métodos de um objeto?
Atributos de objetos são suas características que os distingui de outros objetos como tamanho, cor, forma, peso, etc. Já os métodos são as ações ou utilidades desses. Exemplos: seca, rola, incha, esvazia, armazena, etc.
É através da observação do comportamento dos objetos no mundo real que aprendemos sobre eles.
Com esse conhecimento é possível modelarmos um objeto em nosso programa, definindo suas características e suas ações (o conceito de modelar aqui não é idêntico ao aplicado em computação gráfica).
Ainda pensando em objetos percebemos que muitos deles possuem características comuns entre si. Um objeto carro possui características comum a um caminhão, a uma caminhonete ou a ainda uma bicicleta.
Quais são os atributos em comum entre esses 4 objetos?
Simples todos possuem rodas.
E quais são os métodos comum entre todos?
Obviamente o transporte.
Imediatamente após esse raciocínio percebemos que o ideal seria que pudéssemos ao invés de criar atributos e métodos repetidos entre os diversos objetos de nosso programa criássemos uma instância superior desses objetos no qual importaríamos as características comuns a todos, a isso damos o nome de Classe.
A classe é um descritor de conjunto de objetos, ela é a entidade que reúne os objetos semelhantes, ou seja, os objetos que compartilham os mesmo atributos, métodos e relacionamentos entre outros objetos.
No próximo post sobre esse tema continuarei falando sobre Classe, objetos e seus relacionamentos.
Abraços a todos!

Written by Ricardo Ludwig

February 19, 2007 at 2:43 pm

Posted in Java, O.O, UML