Oi Frank Mas nenhum desses argumentos impede da classe Object ser abstrata
O paradigma OO diz tambem que voce deve definir uma classe abstrata quando voce nao quer instancias dessa classe. e quase ninguem quer instancias da classe Object, soh das subclasses. Voce disse que nao ha delegacao de tarefas. Mas soh os waits, notifies e getClass sao FINAL (alias, sao nativos e os outros waits delegam) no java lang Object. todos os outros metodos sao _super_ comuns de serem sobreescritos, isto eh, delegando a chamada. Ao meu ver, isso eh mais motivo de ser abstrata do que concreta. Para que ser concreta se voce nao vai instancia-la? (sem contar utilizacao como objetos de tag e mutexes) valeu! ====================== Paulo Eduardo Azevedo Silveira Grupo de Usu�rios Java http://www.guj.com.br/ On Thu, 03 Oct 2002 14:55:29 -0300, Frank Inoue <[EMAIL PROTECTED]> escreveu : > De: Frank Inoue <[EMAIL PROTECTED]> > Data: Thu, 03 Oct 2002 14:55:29 -0300 > Para: [EMAIL PROTECTED] > Assunto: Re: [java-list] java.lang.Object, porque nXo abstract? > > > Paulo, > Acho que a explica��o esta no pr�prio paradigma OO que define > componentes abstratos como entes que delegam alguma tarefa a ser > implementado em suas subclasses e dentro da linguagem Java a classe > java.lang.Object � sozinho um componente completo, n�o h� delega��o de > tarefas. > Object quer dizer componente de software, e isto implica as > seguintes funcionalidades: > - como fazer copia deste componente (clone); > - como comparar dois elementos pertencentes a classe(equals); > - como retira-lo da mem�ria (finalize) > - qual o tipo da classe esta instanciada no objeto em tempo de > execu��o(getClass); > - numero de identifica��o em tempo de execu��o (hashcode) > - mensagem de que ele liberou um recurso compartilhado (notify, > notityAll), usado em threads > - nome do objeto em tempo de execu��o(toString), que por padr�o > � o nome da classe instanciada + '@' + hashcode, > este m�todo deve ser sobrescrito : Objeto do tipo > Aluno.toString() deve retornar RA-Nome do Aluno > - mensagem para esperar por um recurso compartilhado(wait), > usado em threads > obs: Todas as classes herdam de java.lang.Object implicitamente quando > n�o declaradas explicitamente. > > > Frank > > Paulo Silveira wrote: > > >Oi pessoal! > > > >Uma vez alguem me perguntou, e eu n�o soube dar um motivo 100%: > > > >"Porque a java.lang.Object n�o � abstract"? > > > >Ela poderia perfeitamente ser abstract, j� que n�o � preciso ter m�todos abstratos >para a classe ser abstrata. > > > >Voc� poderia ainda se referenciar a Objects, criar array de Objects e tudo mais. > > > >A �nica coisa que voc� n�o poderia fazer, seria instanciar Objects. A �nica >utilidade de instanciar Objects, a meu > >ver, � utilizar como objetos de tag, ou como mutex (declara uns Objects est�ticos e >da syncrhinized neles!). Mas > >pra isso basta voc� criar uma inner classe bem inutil, s� pros mutexes e coisas do >g�nero. > > > >Existe alguma coisa que faria o java.lang.Object precisar ser concreta? Ou foi >apenas uma decis�o de > >implementa��o? > > > >====================== > >Paulo Eduardo Azevedo Silveira > >Grupo de Usu�rios Java > >http://www.guj.com.br/ > > > > > >------------------------------ 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 > >historico: http://www.mail-archive.com/java-list%40soujava.org.br > >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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
