Orientação a Objeto

8 respostas
seduardo

Olá pessoal, o assunto eu sei é bastante batido, pois a programação orientada a objeto eu sei é uma definição um pouco abstrata, e tem muitas pessoas que ficam discutindo se java é ou não orientado a objeto.

E toda vez que me fazem esta pergunta até hoje eu enumerei todas as qualidades de OO que eu conheço, como herança, polimorfismo, etc.

Gostaria de saber se alguém sabe da origem, ou seja o idealizador, quem falou que OO tem estas características e não alguém que copiou de alguém ou de um artigo que a pessoa leu ou escutou.

Assim poderia explicar melhor este conceitos e eliminar esta dúvida que me persegue a algum tempo.

8 Respostas

eric_jf

Java é OO sim, mas não é totalmente orientada a objeto.
Porque nem tudo é objeto em java, vc tem variaveis com int, boolean, entre outras.
Mas não invalida dela ser orientada a objeto.

pcalcado

É simples: numa linguagem pura OO tudo é objeto. Em Java nem tudo é objeto.

Um livro bom se você realmente quer saber sobre OO é o OOSC do Bertrand Meyer.

ramilani12

Outro caso Java não suporta-&gt herança multipla, a verdadeira linguagem orientado a objeto é smaltalk …

pcalcado

Herança m,ultipla em si nao caracteriza linguagens OO. Observe que mesmo passagemd e mensagem nao caracteriza, dado por exemplo CLOS que utiliza funções genéricas.

seduardo

Talvez eu não tenha sido claro na minha pergunta.

O fato de ser ou não orientado a objeto, é muito subjetivo por falta de concenso da comunidade. Por exemplo, quem diz que herança multipla é uma característica que deva ser caracterizado numa linguagem orientada a objeto.

Por acaso smalltalk é por definição uma linguagem orientada a objeto, então por esta definição nenhuma linguagem que não implementasse todas as funcionalidades do smalltalk é uma linguagem orientada a objeto. Ou existe uma definição formal, aceita de quais caracteristicas são de uma linguagem orientada a objeto.

Tem alguma tese academica que embase isto ? alguém que fez algum estudo, pesquisa ou definição ? alguma publicação dos criadores do smalltalk ?

Pelo que sei o smalltalk foi baseado no simula67, e não implementa tudo que o simula implementa, então se o simula é orientado a objeto o smalltalk não é orientado(caso o simula seja a definição).

Estou curioso é por quem criou estas definições. Eu dei por muito tempo aulas de java e orientação a objeto com delphi e c++. Mas mesmo assim nunca tive interesse de ir atrás para saber a origem verdadeira.

Estes dias, conversando com um colega que estudou na unicamp ele entrou em considerações filosoficas, e quando perguntei sobre onde estava escrito que OO deve ter herança multipla ele me falou que viu isto na faculdade.

Ai pensei, que isto é ensinado e colocado a torto e a direito sem as devidas precauções cientificas. Ou seja, muito no achometro, ou na leitura de um livro que assumimos como verdadeiro.

Ou seja de cientifico não tem nada, e muita gente sai falando sem saber. Pois são baseados em desejos e conceitos pessoais. E não algo bem embasado.

E se for bem embasado, gostaria que fosse compartilhado aqui na lista. Só isto.

cv1

Ou, pra complementar, linguagens OO nao precisam nem de classes pra ser consideradas OO. Vide Self, Io e outras linguagens baseadas em prototipos. :wink:

Luca

Olá

O google é uma ótima fonte de pesquisa. Se você tiver acesso, as bibliotecas da faculdades também podem ajudar muito. Até amigos que tem revistas antigas às vezes pode achar artigos históricos. Eu mesmo tenho algumas.

[]s
Luca

pcalcado

Sérgio, procure o livro indicado.

Criado 20 de setembro de 2006
Ultima resposta 20 de set. de 2006
Respostas 8
Participantes 6