Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Ereditarietà

  1. #1

    Ereditarietà

    Salve a tutti, non riesco a capire una cosa.

    Ho due classi C e D. C è la Superclasse D la derivata.

    C contiene un solo metodo print()

    D contiene print() e Reset()

    Ora supponiamo di istanziare alcuni oggetti

    C v1= new C();

    C v2=newD();

    C v3=newD();

    Guardate la seconda istanziazione. Si può fare? A me sembra strano.

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

    Moderazione

    Fai una ricerca nel forum e troverai parecchie discussioni che trattano l'ereditarietà.

    La seconda e la terza istanziazione sono perfettamente lecite, proprio per l'ereditarietà.

    Se B deriva da A, allora un oggetto di classe B è anche un oggetto di classe A.

    Un oggetto Triangolo (derivata) è anche un oggetto Figura (base).

    In inglese, il concetto di ereditarietà si traduce, non a caso, come is-a (è un).


    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
    A me la cosa non è chiara.

    Faccio un esempio:

    public class Base
    {
    int x;
    int y;
    }

    public class Derivata
    {
    int w;
    int z;
    }

    Se ora istanzio un oggetto della classe derivata Derivata d1=new Derivata(), quante variabili ci sono in questo oggetto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    726
    Ce ne sono 2 (w,z).
    Derivata non è sottotipo di Base in questo esempio.

  5. #5
    Qualcuno deve avere la pazienza di spiegarmi bene la cosa, sto seguendo il corso java:

    public Class Pesce
    {
    void nuota()...{}
    }

    public class PesceRosso estends Pesce
    {
    void nuota(){...}
    }

    Ora se scrivo questo:

    Pesce pesce = new PesceRosso();

    cosa significa? Cosa ho istanziato?

    Cosa significa che il tipo della variabile e il tipo dell'oggetto sono diversi?

    Cosa significa che il tipo della variabile definisce l'interfaccia dell'oggetto?

    Cosa significa che il tipo dell'oggetto definisce l'implementazione dell'oggetto?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.