Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Esercizio scolastico

Visualizzazione discussione

  1. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da roxi.g Visualizza il messaggio
    Penso che Treno debba sapere delle sottoclassi perché uno dei metodi da creare è proprio per aggiungere un vagone merci o passeggeri, ognuno caratterizzato da cose diverse. Quando dici che puoi passare ad aggiungiVagone un vagone merci o passeggeri come si fa?
    Il principio della ereditarietà/polimorfismo consente una cosa che si può descrivere con una semplice frase:

    Ovunque è richiesto un tipo X, è lecito passare/assegnare un tipo esattamente X oppure un sottotipo di X


    Questo vuol dire che un oggetto Integer può essere assegnato ad una variabile Number (Integer deriva da Number, quindi è-un Number)

    Number n = new Integer(123);

    Se un metodo è prova(Object obj) io posso invocarlo passando es. un String:

    xyz.prova("ciao");

    E se Treno ha un metodo public void aggiungiVagone(Vagone v) allora posso invocarlo passando ad esempio un oggetto VagonePasseggeri:

    VagonePasseggeri vp = new VagonePasseggeri( ...... );
    unTreno.aggiungiVagone(vp);


    Tutto questo "funziona così", è dato proprio dalla ereditarietà/polimorfismo!

    Quote Originariamente inviata da roxi.g Visualizza il messaggio
    In questa cosa dell'ereditarietà/polimorfismo c è sicuramente qualcosa che gli sfugge.
    Tutto questo infatti VA capito bene, fin dall'inizio. Garantisco che senza queste nozioni, in Java (come in qualunque altro linguaggio "ad oggetti"), non si va molto lontano ....
    Ultima modifica di andbin; 23-08-2017 a 09:35
    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.