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.
Todas que enveredam pelo o mundo da programação, seja por formação profissional, necessidades acadêmicas ou ainda por puro hobby, acabam aprendendo o método mais convencional de programação, conhecida como programação procedural.
Na programação procedural temos uma seqüência de ações que um programa deve executar, escrita de acordo com a sintaxe característica de cada linguagem. Escrever um programa usando orientação a objeto se torna necessário abrir mão desse conceito que estamos tão acostumados e pensar num programa como um conjunto de "objetos".
Não tente compreender a palavra "objetos"
Às vezes físicos fazem manobras matemáticas que deixariam matemáticos de cabelo em pé. Não que os físicos estejam errados, apenas não seguiram um método por demais rigoroso, isso os torna ninjas, mais rápidos, práticos. Faremos o mesmo aqui, "computeiros" por favor torçam o nariz, pois seremos ninjas agora!!!
Tudo começa na unidade chamada classe e vamos ousar a dizer que uma classe é um objeto, então daqui em diante vamos apagar a palavra objeto do nosso post.
Uma classe é de longe algo parecido com uma função[1], é como se fosse uma função evoluída, que quando alimentada com dados te fornece muito mais informações que pode ser acessada de forma direta.
Uma classe pode ser entendida como uma célula especializada, um sistema fechado, ou ainda uma aldeia, sacou a idéia?
[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.