Em uma busca desesperada para explicar de forma simples os conceitos básicos de OO, acabei enveredando e usando exemplos nada convencionais. Espero assim que consiga alavancar a curiosidade de alguém por esta técnica de programação, mesmo que nessa tentativa nada formal e de pouco conteúdo técnico possa ser rotulado como um irresponsável.
"Células especializadas na síntese da insulina, congeladas a 100 kelvin. Vamos descongelá-las e inserí-las em um meio nutritivo e propício para a suas atividades. Pronto! Agora temos células produzindo insulina, retirando aminoácidos do meio a qual estão inseridas e através de suas organelas destilando a mais pura insulina, para a felicidade dos diabéticos".
Aqui temos nossa classe, a célula. Descongelar e inserir em um meio nutritivo, equivale a instanciar uma classe, ou seja, setar valores a classe e vincular a uma variável. Os valores equivalem ao meio nutritivo que irá fornecer a matéria prima para produzir a insulina. Os métodos de nossa classe, da nossa célula, são as organelas celulares. E por fim, os atributos são por assim dizer os valores químicos-físicos e fixos de uma célula. Os construtores são os meios pela a qual a célula usa para encaminhar os aminoácidos do meio para as organelas, mais conhecidos como fagossomos.
Caracterizando...
Em suma, quando escrevo uma classe, estou caracterizando várias de suas propriedades. Geralmente definimos os atributos de uma classe, que são valores constantes que serão usados pela a mesma, os métodos que são funções convencionais que manipulam as informações passadas para a classe e o construtor, que tornará mais fácil manipular e ter acesso aos dados passados para a classe dentro dos métodos. Vale ressaltar que uma classe não precisa necessariamente ter todos estes componentes componentes.
[1] Comentário enviado por Ed_slacker em 21/02/2007 - 09:05h
Agora que comecei a estudar JAVA por conta própria eu tive esta dúvida do que era conceitualmente "POO".
Com seu artigo deu para ter uma excelente idéia do que vem a ser isso!
Não que seja um guia definitivo para esclarecer o assunto, mas para mim foi um ótimo ponto de partida!
Parabéns pelo artigo!!
Foi muito útil para mim e garanto que será muito útil para muitos aqui do VOL...
[3] Comentário enviado por tralsl em 21/02/2007 - 23:04h
artigo muito bom, mas isso naum envolve todo o conceito de OO
eu tbm utilizei muito exemplo desse tipo para aprender java
embora python naum seja minha especialidade os exemplos são bons
exemplos e prática é a melhoor forma de aprender oo, naum importando a liguagem que se usa
entaum boa programação para todos :)
[5] Comentário enviado por tenchi em 23/02/2007 - 14:33h
Kra, muito legal o artigo, mas eu continuo não entendendo esse conceito. Você explicou muito bem, e acho que o problema é comigo msm.. rsrs
Eu "programo" em pascal, e sei que existe como "ativar" a orientação à objetos (FreePascal), mas há momentos em que eu tenho que fazer isso ({$MODE OBJFPC}). Mas eu sinceramente não entendo... Já pesquiser na Wikipedia, estou sempre lendo a documentação do FP, mas mesmo assim continuo na mesma. Dizem que uma das diferenças do c para o c++ é a orientação à objetos no segundo. Mas Eu não notei muita diferença entre as duas linguagens (Também, naum entendo muito delas).
O que eu acho que entendi é a orientação à eventos, tipo em tcl, onde as coisas acontecem quando acontece um evento (um clique do mouse, etc).
Já ouvi falar de orientação à aspectos (coisas do capeta) e até orientação à gambiarras (a verdadeira programação), mas eu simceramente fico mais confuso quando pesquiso sobre o asunto.
Uma pergunta: Eu não poderia usar um tipo de orientação numa linguagem qu eusa outro tipo? Sei lá.. rsrs
Obs: uma classe é uma função faz tudo?
ME desculpe pelas dúvidas, mas acho que se eu perguntasse isso na sessão de perguntas, ninguém responderia. Se vc conseguir esclarecer essa minha mente confusa, eu agradeceria.. ;)
nota 10 pro artigo.
( Algumas pessoas dizem que Chuck )
( Norris é um mito. Essas "algumas )
( pessoas" agora estão mortas. )
[6] Comentário enviado por removido em 26/09/2007 - 14:11h
Amigo, o artigo está muito bem escrito. Porém, o conceito aqui tratado está longe de ser POO, e sim, apenas um conceito de classe/objeto. POO envolve muitos outros conceitos sem os quais não se caracteriza esse paradigma, como por exemplo encapsulamento, herança e polimorfismo.