[Cascavel-pm] One-Liners com 100% OO (e muito poder)

marcoantonio.lima@vivo.com.br marcoantonio.lima em vivo.com.br
Quinta Setembro 15 08:10:38 PDT 2005


Gostaria de refletir sobre algumas informações:

O JAVA implementa tipos simples de dados (integer, real, char) do C, não 
sendo objetos mas tudo o mais lida com objetos. O código e os dados 
residem em classes e objetos.

Objetos são uma abstração criada pelos cientistas de computação para 
representar, em um sistema de computador, os objetos, físicos ou ideais, 
do mundo real. Tradicionalmente, sistemas de computador são desenvolvidos 
a partir da separação entre qual a informação tratada e como a informação 
é tratada. Assim, cabe ao desenvolvedor observar o mundo real e descobrir 
como os processos ocorrem e com qual informação eles trabalham para criar 
um programa de computador. No desenvolvimento orientado a objetos cabe ao 
desenvolvedor observar que objetos compõem o mundo real e como eles 
interagem, criando o sistema como uma representação virtual do mundo real.

Objeto é uma região de memória associada a uma definição semântica 
precisa. Após a declaração int i; podemos dizer que "i é um objeto do tipo int." Em OO, "objeto" normalmente significa "uma instância de uma classe". 
Assim, uma classe define o comportamento dos objetos (instâncias) 
possíveis.

Pode-se pensar sobre o mundo real como uma coleção de objetos 
relacionados, objetos podem ser agrupados em classes.

Objetos de uma certa classe têm atributos, objetos de uma mesma classe têm 
um mesmo comportamento, certos objetos não têm comportamento, objetos 
podem estar relacionados. Um objeto existe enquanto houver pelo menos uma 
referência a ele, depois que não houver mais referências, o objeto some.

Referência é um alias (um nome alternativo) para um objeto. Referências 
são usadas freqüentemente para passar-parâmetros-por-referência. Mesmo 
sabendo que uma referência é freqüentemente implementada em linguagem 
assembler usando um endereço, não pense em referência como uma maneira 
diferente de se ver o pointer para um objeto. Uma referência é o objeto. 
Ela não é um pointer para o objeto, nem uma cópia do objeto. É o próprio 
objeto. 

Atributos são as características do objeto, como cor e tamanho, a janela, 
por exemplo, tem atributos como o modelo, tamanho, abertura simples ou 
dupla, entre outros. 

Ação é a operação efetuada pelo objeto. Todas as janelas, por exemplo, 
controlam a iluminação e temperatura ambiente, dependendo do seu design. 

A diferença entre classe e objeto:

"Classe" é um gabarito (como a planta de uma casa) 
"Objeto" é a concretização do gabarito (casas feitas a partir da mesma 
planta)

Classe é um bloco de construção básico de software OO. Uma classe define 
um tipo de dado, de modo muito semelhante a struct em C. Em ciência da 
computação, um tipo consiste de um conjunto de estados possíveis e um 
conjunto de operações que realizam a transição entre os estados do tipo. 
Assim, int é um tipo porque tem tanto um conjunto de estados, quanto 
operações como i + j ou i++. Exatamente da mesma maneira, uma class 
consiste de um conjunto de operações (normalmente public:), e um conjunto 
de (normalmente não-public:) bits de dados representando os valores 
abstratos que as instâncias do tipo podem ter. 

Pense em int como uma class que tem uma função membro chamada operator++, 
etc.

Um programador C pode pensar em uma class como uma C struct, cujos membros 
são, por default, private. Mas se isso é tudo o que pensa de uma class, 
então, provavelmente, você precisa fazer um esforço para mudar o seu 
paradigma.

Um método é como um sub-programa, subrotina ou função de outras 
linguagens.Também se fala que estamos enviando a mensagem "depositar" para 
o objeto. 

Mesmo as linguagens procedurais oferecem alguma característica funcional 
OO. Seu conjunto de primitivas porém permite que você digite comandos para 
que o computador execute. A organização e manipulação dos dados vem 
depois. A linguagem OO é projetada para permitir a definição dos objetos 
que compõe os programas e as propriedades que estes objetos contem. O 
código é secundário. Pode-se programar na forma procedural com estilo OO 
quando o programa tem um nível tal de sofisticação que você começa a criar 
seus próprios tipos e estruturas de dados. A linguagem OO pura tem como um 
parâmetro de referência que todos os dados sejam representados na forma de 
objetos. A única pura é a Small Talk (tudo via classe, não tem var. 
global). Eiffel também. 


[   ]´s


-------------------------------------------------------------------------
M a r c o   L i m a
VIVO - DGSI - Tarifação - RJ - ES 
DBA - Engenharia de Sistemas
marcoantonio.lima em vivo.com.br
Tel: +55 21 25 74 36 67
Cel: +55 21 82 48 03 85
-------------------------------------------------------------------------
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20050915/7660ed6c/attachment.html


Mais detalhes sobre a lista de discussão Cascavel-pm