Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    13

    oggetti creati risalendo la gerarchia di java

    Ho un problema, devo riuscire a capire usando l'ereditarietà di Java quanti oggetti vengono creati risalendo la gerarchia.

    Esempio tipico:
    class Rubrica {...}
    Interface Impegni extends Rubrica {...}
    Abstract Appuntamento implements Impegni {...}
    class ora extends Appuntamento {...}

    creando l'oggetto della classe ora, si risale la gerarchia?
    per cui quanti oggetti al termine vengono creati?
    tenendo presente che la prima classe estende automaticamente la classe Object viene creato anche l'oggetto Object?

    Grazie
    sl

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Questa è la teoria che sta alla base della O.O.P....

    Dobbiamo farti l'esercizio per l'imminente esame?

    Ad ogni modo... un'interfaccia che estende una classe... direi che non compilerebbe nemmeno...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    13

    re

    BRAVO, questa è una domanda tranello che ci fà sempre il prof. all'esame.
    -certo io non sono una cima in programmazione OO.
    ->da quello che ho potuto studiare è che le classi astratte non possono creare oggetti, effettuato solo una implementazione parziale di un'interfaccia.
    --> le interfacce non hanno implementazione perchè hanno solo prototipi ed servono solo a stabilire cosa devono fare le classi che la devono implementare.

    Ritornado all'indovinello del Prof. che dice creando un oggetto della sottoclasse che scatena la creazione di oggetti della superclassi, quanti oggetti vengono creati alla fine.
    Secondo me quello della sottoclasse e quello della superclasse di riferimento.

    GIUSTO.
    sl

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La classe ora estende Appuntamento.
    La clase Appuntamento implementa l'interfaccia Impegni
    L'interfaccia impegni tenta di estendere una classe (Rubrica). Dato che nessuna interfaccia può estendere una classe il risultato è che non viene creato alcunchè.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    13
    Ti ringrazio per restare a parlare con me.

    Facendo tesoro di quello che mi hai detto, se togliamo l'interfaccia dall'esempio che extends una classe, quanti oggetti verranno creati al termine.

    Esempio tipico:
    Interface Impegno {...}
    Abstract ImpegnoAstratto implements Impegni {...}
    class riunione extends ImpegnoAstratto {...}

    In questo caso SONO DUE gli oggetti creati, RIUNIONE e IMPEGNOASTRATTO

    ciao
    sl

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: re

    Originariamente inviato da lsergio
    ->da quello che ho potuto studiare è che le classi astratte non possono creare oggetti, effettuato solo una implementazione parziale di un'interfaccia.
    Una classe astratta non può essere istanziata, questo è il nocciolo della questione.
    Può implementare anche solo parzialmente una interfaccia, la cosa veramente importante è che la prima classe "concreta" (non astratta) derivata implementi tutti i metodi richiesti.

    Originariamente inviato da lsergio
    Ritornado all'indovinello del Prof. che dice creando un oggetto della sottoclasse che scatena la creazione di oggetti della superclassi, quanti oggetti vengono creati alla fine.
    Secondo me quello della sottoclasse e quello della superclasse di riferimento.
    No, sempre 1 solo.

    class Super { }
    class Sub extends Super { }

    Se faccio new Super(), creo solo 1 oggetto di tipo Super. Se faccio new Sub() creo ancora sempre solo 1 oggetto ma di tipo Sub(). Sub è-un Super, quindi tutto quello che ha Super ce l'ha pure Sub.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.