Olá!!!!!

Há um tempo atrás tive uma dúvida semelhante a essa:

Em 16/02/2001 [EMAIL PROTECTED]:

Tendo uma aula na faculdade eu discordei da afirmação de um professor:
"Java é uma linguagem OO pura!".
Eu disse isso devido ao fato da existência dos tipos primitivos (boolean,
int, float, double, char) e eles não terem um comportamento de objetos (com
métodos, propriedades, etc) sendo necessário para isso os "wrappers de
tipo", algo que não acontece em Smalltalk por exemplo.
Agora, gostaria da experiência e do conhecimento de vocês, estaria eu
completamente errado????????????

E recebi as seguintes respostas:

- - -

Anderson M. C. de Souza <[EMAIL PROTECTED]>:

Não sei se você já reparou mas se você ler 100 livros considerados "bíblias
da tecnologia", ou seja, livros escritos por pessoas tão gabaritadas que
ninguém se atreve a contestar, você irá encontrar 100 definições totalmente
diferentes sobre o que é Orientação a Objetos. Por incrível que pareça esta
é uma experiência extremamente semelhante a leitura de 100 poesias que
falam
sobre "o que é o amor".
O que estou querendo dizer é que Orientação a Objetos não é como uma lei da
física onde todos são unânimes em concordar com o único conceito que define
a lei.
Eu por exemplo acho um erro gravíssimo considerar o uso de interfaces como
mecanismo para implementar herança múlipla, pelo simples fato de que nesse
caso não existe herança nenhuma e sim uma implementação dos métodos em
todas
as classes que implementarem as interfaces, dessa forma apesar das classes
possuirem os mesmos métodos as implementações destes podem ser totalmente
distintas, o que de forma alguma ocorre na herança. No entanto existem
vários livros muito conceituados, e que são realmente bons, que ensinam
como
implementar herança múltipla através de interfaces, o que ocorre é que seus
autores tem um conceito de Orientação a Objetos diferente do meu.
Portanto não se preocupe em discutir o "sexo dos anjos", como diria um
professor meu. Estude muito, critique tudo o que você aprender, exercite os
seus conhecimentos e finalmente forme a sua opinião e defenda-a, não
importa
quem discorde dela.
Apenas para não deixar você sem uma resposta objetiva sobre a bola que
levantou, eu prefiro a abordagem do Java para os tipos primitivos, pelo
simples fato de que na maior parte do tempo você precisa deles exatamente
desta forma que eles são e não com o comportamento de objetos. Por exemplo,
porque eu precisaria de um objeto para implementar um contador, um somador
ou um valor retornado por uma expressão matemática? Para as situações mais
específicas e sofisticadas existem os "wrappers" que cumprem muito bem o
seu
papel.
Conceitualmente eu fico com a flexibilidade do Java ao invés da filosofia
"100% OO" do Smalltalk.

- - -

Leonardo Souza Mario Bueno <[EMAIL PROTECTED]>:

Provavelmente esse autores que consideram o uso de interfaces como um
mecanismo para implementação de herança múltipla se referem a herança
do contrato definido pela interface e não herança de implementação.
Se duas classes implementam a mesma interface de forma 100% diferente
mas mantém a semantica definida pela interface, então, IMHO, acho que
houve efetivamente herança multipla.

Lembre-se ainda que em C++, ou outra linguagem que permita herança
multipla de implementação, você pode redefinir um método completamente,
tendo assim duas implementações 100% diferentes e possivelmente uma
quebra do contrato definido por uma das classes pai.

- - -

Sven van ´t Veer <[EMAIL PROTECTED]>:

A mesa aonde voce trabalha é um Objeto ?? Ele é feito de peças (Objetos)
assim como os pés. Alem disso dentro todos estes objectos que fazem esse
mesa, sera que ele é feito de materia, este materia sendo atoms das
materias existente, e estes atoms de protons eletrons e neutrons... e estes
eletrons de quarks ( up e down) etc etc..

Agora acha que a mesa nao é mais um objeto ??

- - -

[EMAIL PROTECTED]:

Não concordo que Java não seja totalmente orientado a objetos, pois existem
classes chamadas WRAPPERS(empacotadoras), portanto se o programador desejar
pode declarar os tipos primitivos como classes. O que acontece é que há
mais de
uma forma de declaração para manter o padrão não só do small talk, mas
também
da linguagem C.

- - -

[EMAIL PROTECTED]:

a intenção de quem desenvolveu orientação a objetos, foi aproximar o mundo
abstrato do desenvolvimento de sistemas ao mundo real, portanto coisas como
herança múltipla não fazem sentido na orientação a objetos, pelo contrário,
atrapalha a definição podendo levar todo um projeto ao fracasso. O C++
deturpou
o conceito de O.O. mas o java veio para resgatar isso. Sobre interfaces,
estude
um pouco mais e perceberá que tem todo o sentido, mas estude com o conceito
de
O.O. e não do C++.

- - -

[EMAIL PROTECTED]:

Isto tudo depende da aplicabilidade que se quer dar. Java é pura e OO , C++
não é pura mas é completa,
bits ou bytes depende a qual objetivo quer atingir. nada é absoluto e
depende do que se deseja atingir...

- - - - - - - - -

[]'s
Mps




                                                                                       
    
                    "Mister M"                                                         
    
                    <mister__m@ho        Para:   [EMAIL PROTECTED]              
    
                    tmail.com>           cc:                                           
    
                                         Assunto:     Re: [java-list] OO em Java       
    
                    12/06/2001                                                         
    
                    13:29                                                              
    
                    Responder a                                                        
    
                    java-list                                                          
    
                                                                                       
    
                                                                                       
    



Heranca multipla nunca foi requisito essencial pra ser 100% OO. However, os

statics sao considerados como alguns como falta de OO. Eh personal taste,
eu
diria...


----------------------------------------------------

Michael Nascimento Santos
Sun Certified Programmer for the Java 2 Platform
Moderador SouJava
Analista/Consultor
CPM Sistemas - www.cpm.com.br

>From: "Carlos Eduardo Vargas Miranda (Amix)" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: [java-list] OO em Java
>Date: Tue, 12 Jun 2001 12:37:02 -0300
>
>Pessoal,
>
>Até hoje pensei que Java pode ser considerada uma linguagem
>totalmente (100%) orientada a objetos.
>Conversando com dois amigos, ambos tiveram a opinião de que
>isto não é verdade, visto que Java não aceita heranças
>múltiplas, e uma vez quebrado um paradigma da OO a linguagem
>já não pode ser considerada totalmente OO.
>
>Qual a opinião dos colegas?
>
>[]s
>Carlos.
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------






------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a