mehrfachvererbung geht ja doch in java :-)



  • na ja, probier mal ein paar variablen in die Interfaces einzubauen und schau ob's immer noch geht.
    Schon schade, mehrfachvererbung à la C++ wäre schon nicht übel gewesen.



  • GPC schrieb:

    na ja, probier mal ein paar variablen in die Interfaces einzubauen und schau ob's immer noch geht.

    Geht, wenn sie public static final sind.

    Schon schade, mehrfachvererbung à la C++ wäre schon nicht übel gewesen.

    http://www.infoboard.org/foren/Aw, Jeeze.jpg


  • Mod

    GPC schrieb:

    na ja, probier mal ein paar variablen in die Interfaces einzubauen und schau ob's immer noch geht.

    ...das würde man wohl innerhalb der annonymen inneren Klassen machen, die hier genutzt werden. Etwa so:

    interface BaseClass
    {
        void func();   
    }
    
    interface Class1
    {
        BaseClass c1 = new BaseClass()
        {
            public void func()
            {
                System.out.println ("hello from Class1");
            }
        };
    }
    
    interface Class2
    {
        BaseClass c2 = new BaseClass()
        {
            private int i = 5;
            public void func()
            {
                for (int j = 0 ; j < i ; ++j)
                {
                    System.out.println ("hello from Class2");
                }
            }
        };
    }
    
    public class Multi implements Class1, Class2
    {
        public static void main(String[] args)
        {
            Multi m = new Multi();
            m.c1.func();
            m.c2.func();
        }
    }
    

  • Mod

    net: Du hast da keine Mehrfachvererbung realisiert. Was du da hast, das ist eine "hat-ein" Beziehung und keine "ist-ein" Beziehung. Das kannst du auch weniger aufwändig ohne Interfaces haben. 😉



  • tjoa, wenn man Einfachheit mit geringer Komplexität und Mächtigkeit verwechselt, kommt eben sowas wie Java raus. Dieses ständige Herumgefrickele an der Sprache (Java 1.1, 1.2, 1.3, 1.4.1, 1.4.2, ...) steht ja wohl in krassem Gegensatz zu dem von den Java-Anhängern propagierten "wohl durchdachten Design". Die sollten ihre Weltanschauung auf sich selbst auch mal anwenden! Den Splitter im Auge seines Bruders sieht man leicht, doch den Balken im eigenen übersieht man!



  • Börni schrieb:

    tjoa, wenn man Einfachheit mit geringer Komplexität und Mächtigkeit verwechselt, kommt eben sowas wie Java raus. Dieses ständige Herumgefrickele an der Sprache (Java 1.1, 1.2, 1.3, 1.4.1, 1.4.2, ...) steht ja wohl in krassem Gegensatz zu dem von den Java-Anhängern propagierten "wohl durchdachten Design". Die sollten ihre Weltanschauung auf sich selbst auch mal anwenden! Den Splitter im Auge seines Bruders sieht man leicht, doch den Balken im eigenen übersieht man!

    ➡ siehe Link aus meinem 1. Posting



  • GPC schrieb:

    na ja, probier mal ein paar variablen in die Interfaces einzubauen und schau ob's immer noch geht.
    Schon schade, mehrfachvererbung à la C++ wäre schon nicht übel gewesen.

    why extends is evil:
    http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-toolbox.html

    Gruß mathik



  • noi, ha so schlimm isch doch extends au wiader it.



  • @interpreter:
    Wo hassen die ganzen geilen Bilderchen her? 😃



  • CarstenJ schrieb:

    @interpreter:
    Wo hassen die ganzen geilen Bilderchen her? 😃

    Die habe ich mir in all den Jahren, in denen ich regelmäßig in vielen Foren war, mühsam zusammengesucht. Und ich werde die nächste Zeit nicht dafür zurückschrecken sie einzusetzen 😃


Anmelden zum Antworten