[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