Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    ok, forse ho capito, ma puoi farmi un esempio?

  2. #12
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da gamerover98 Visualizza il messaggio
    ok, forse ho capito, ma puoi farmi un esempio?
    Ecco un esempio ... parecchio terra-terra e sicuramente non utile nella realtà.

    codice:
    public class ProvaDecorator {
        public static void main(String[] args) {
            Animale gatto = new Gatto();
            gatto.emettiVerso();
    
            System.out.println("------------");
    
            Animale gatto2 = new AnimaleVersoDoppio(gatto);
            gatto2.emettiVerso();
        }
    }
    
    interface Animale {
        void emettiVerso();
    }
    
    final class Gatto implements Animale {    // Classe final, non estendibile!
        public void emettiVerso() {
            System.out.println("miao");
        }
    }
    
    class AnimaleVersoDoppio implements Animale {
        private Animale animale;
    
        public AnimaleVersoDoppio(Animale animale) {
            this.animale = animale;
        }
    
        public void emettiVerso() {
            animale.emettiVerso();
            animale.emettiVerso();
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #13
    In questo modo però non mi è utile, chiarisco meglio la situazione >> C'è una classe final chiamata Comandi con all'interno un metodo di nome flags() pubblica non statica che riceve alcuni parametri. L'oggetto di questa classe viene dichiarato nella classe principale del programma.
    Lo scopo è quello di andare a modificare o a 'overraidare' quel metodo.

  4. #14
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da gamerover98 Visualizza il messaggio
    In questo modo però non mi è utile
    Capisco ... era solo un modo per darti qualche spunto in più.

    Quote Originariamente inviata da gamerover98 Visualizza il messaggio
    C'è una classe final chiamata Comandi con all'interno un metodo di nome flags() pubblica non statica che riceve alcuni parametri. L'oggetto di questa classe viene dichiarato nella classe principale del programma.
    Lo scopo è quello di andare a modificare o a 'overraidare' quel metodo.
    Ok, però a questo punto mi sorgono altre domande: la classe Comandi l'hai scritta tu? Se sì, perché l'hai fatta final? E se l'hai scritta tu, cosa ti impedisce/proibisce di togliere il final?
    Se ammettiamo, come ipotesi, che tu possa estendere Comandi, poi un oggetto della classe estesa dove lo usi? Al posto dell'oggetto Comandi che usi attualmente? O per altro?

    Purtroppo, è ovvio, non ho io la visione che hai tu di quel codice e di quali sono gli obiettivi da raggiungere.
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.