Encapsulamento?

Tirando Design by Contract, Herança Múltipla, sobrecarga de operadores, a coisa que realmente nãod eixa java ser 100% OO é a presença de não-objetos

Como você pode ter uma linguagem 100% OO com int, char… que não são objetos? E não, autoboxing não é solução, é gambiarra.

Memos assim, java é uma das linguagens com maior aceitação no mundo da OOP, implementando coisas muito legais como interfaces, reflexão e polimorfismo real.

Alguns dos recursos que faltam no Java podem ser encotnradas em linguagens alternativas, como groovy e jython.

Verdade seja dita, faltão alguns conseitos sim! mas acho que você se equivoca quando diz que java não tem objetos, pois um objeto nada mais é que um atributo que foi instânciado!

Obs: java possue todos os tipos primitivos e derivados!

Eu te convido a mostrar onde eu disse isso.

Errado, você está confundindo alguma coisa que aidna não identifiquei.

Objeto é uma entidade de software que possui comportamento e estado definidos. Se fosse assim, qualquer linguagem seria OO.

[quote=“cleo_nascimento”]
Obs: java possue todos os tipos primitivos e derivados![/quote]

Todos? Quais? Possui union? Possui dicionarios? Possui tipos unsigned?

De onde você tira essas coisas, afinal?

Já ficou improdutivo. Você não citou nenhuma referência (exceto uma que dizia exatamente o contrário que você dizia, e mesmo assim uma thread num fórum, nada oficial), fala que eu escrevi cosias que não escrevi (talvez você também não esteja me entendendo, sei lá) e eu simplesmente não consigo entender o que você quer dizer.
Paro por aqui.

Recomendo que você procure um dos livros que indiquei para entender mais um pouco sobre o que um objeto é e no que ele difere de uma variável. Aprender um pouco a mais é sempre bom :wink:

[]s

Tudo bem! acho que eu não compreendi por completo o que você quis passar, e que também não fui claro a passar meus pensamentos!
Acho que a dúvida do nobre amigo já foi solucionada, e que estamos discutindo algo que não vale a pena no presente momento.
Outro fato é que não conheço a fundo estas linguagens que você menciona, portanto não gosto de comentar aquilo que desconheço, prefiro estudar e depois falamos mais sobre elas. Eu tenho conhecimentos em c++, Java, delphi, javascript, asp e php; e dentre estas e muitas outras, Java consegue ser a mais OO de todas!
Obs: sendo que há muito tempo só vivencio com Java!

E no final das contas tudo se resume a interpretação de texto.

Sem querer fomentar a discussão, ou como dizem, o discursão, fiquei assustado ao ler isso: “um objeto nada mais é que um atributo que foi instânciado”.

Um atributo (ou variável) é uma das “faces” do objeto, a outra é o comportamento (ou métodos). Ou eu perdi algo?

O certo seria “um objeto é uma classe que foi instânciada”. A não ser que eu tenha cometido um erro de interpretação de texto.

Objeto é uma instância de uma classe, ou seja, se você fizer um “new AlgumaClasse()” vai estar sendo criado uma instância, ou seja, um OBJETO daquela classe.

Não sei se consegui te ajudar.

OBS: PESSOAL AO INVÉS DE FICAREM DISCUTINDO VOCÊS PODERIAM AJUDAR OS OUTROS, VOCÊS FALARAM TANTO QUE ACABARAM CONFUNDINDO O AMIGO QUE PRECISAVA DE UMA EXPLICAÇÃO SIMPLES, O QUE É OU NÃO É VARIAVEL, OU SEI LÁ O QUE VAI DE CADA UM, SÃO TUDO OPINIÕES, VAMOS APRENDER A RESPEITAR A OPINIÃO DOS OUTROS.

[quote=“pcalcado”]Tirando Design by Contract, Herança Múltipla, sobrecarga de operadores, a coisa que realmente nãod eixa java ser 100% OO é a presença de não-objetos

Como você pode ter uma linguagem 100% OO com int, char… que não são objetos? E não, autoboxing não é solução, é gambiarra.[/quote]

pra q ter herança múltipla no java?
o q eh sobrecarga d operadores e design by contract??

[quote=“tiago_carl”]
OBS: PESSOAL AO INVÉS DE FICAREM DISCUTINDO VOCÊS PODERIAM AJUDAR OS OUTROS, VOCÊS FALARAM TANTO QUE ACABARAM CONFUNDINDO O AMIGO QUE PRECISAVA DE UMA EXPLICAÇÃO SIMPLES, O QUE É OU NÃO É VARIAVEL, OU SEI LÁ O QUE VAI DE CADA UM, SÃO TUDO OPINIÕES, VAMOS APRENDER A RESPEITAR A OPINIÃO DOS OUTROS.[/quote]

Olá,

Não entendi seu nervosismo e gritaria, isso aqui era um fórum da última vez que perguntei, e se você quer ajudar, que tal responder ao que ele perguntou?

Pergunta:

Você tem certeza que leu ot tópico?

Enfim, caso você tivesse lido, ia saber que a resposta já foi alcançada

[quote=“Jhonatas”]Valeu Jamati, era isso mesmo que eu queria saber, tava lendo o livro do Deitel agora mesmo e me deparei com o que tu posto, ´so que tu foi direto ao assunto!
Até a próxima…[/quote]

E onde está a regra dizendo que a discussão de um tópico não pdoe mduar de assunto? Vamos aprender a ler…

Para evitar tanta delegação. Com o advento de AOP não tem sentido em usar herança multipla para incorporar serviços (como transações) a la C++, mas algumas hierarquias são melhor descritas com esse recurso.

[quote=“LichKing”]
o q eh sobrecarga d operadores

e design by contract??[/quote]

No Google você muitas fontes, mas são recursos de OOP que não existem em Java.

Sobre contratos:

www.fragmental.com.br/arquivos/contratosnulos.pdf

[]s

[quote=“tiago_carl”]Objeto é uma instância de uma classe, ou seja, se você fizer um “new AlgumaClasse()” vai estar sendo criado uma instância, ou seja, um OBJETO daquela classe.

Não sei se consegui te ajudar.[/quote]

Se o que você escreveu foi para mim, então acho que você não entendeu o meu post.

Se todo mundo tivesse a mesma opinião não haveria evolução.
De vez em quando é bom um flamezinho (flame-war), desde que debatido num bom nível como fizeram o Shoes e o Cléo. E no debate deles surgiu muita coisa que, se não te ajudou, com certeza despertou curiosidade em outras pessoas (como aconteceu com o LichKing).

Com relação à nomenclatura, pode não ser um dos assuntos mais interessantes, mas muita gente se preocupa com isso (eu inclusive, apesar de não tanto quanto o Cléo).

E sobre respeitar a opinião dos outros, não vi nenhum deles desmerecendo a opinião do outro, apenas um tentando convencer o outro de que a sua opinião era a certa (discussão, certo?).

Acho que foi Voltaire que disse “posso não concordar com o que dizes, mas defenderei até a morte teu direito de dizê-lo”. Então, deixa os caras discutirem (desde que não haja ofensas).

pcalcado li sim sobre as linguagens que você mencionou em outro momento! e que você tem toda razão, pois Java não é 100% OO como eu pensava mais que dentre as linguagens mais populares como: Delphi, VB, .NET, C++ e outras, ela é a que mais consegue aplicar os conceitos de OO.
Falando na questão dos modificadores, o termo ficou incompleto, pois o termo correto seria modificadores de acesso!
Agradeço desde já, pela conversa construtiva em que realizamos; pois é com sobreposição de conhecimentos que aprendemos mais.