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] -------------------------------------------------------------------------