Announcement

Collapse
No announcement yet.

Advanced Cast

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Advanced Cast

    Hallo zusammen

    Folgender Sachverhalt

    class A{

    met2(){...}
    met1(){
    met2();
    ...
    }
    }

    }

    class B extends A{

    met2(){...}
    met3(){
    super.met1();
    }
    }

    Ist es in Java möglich, in dem obigen Beispiel in met3 (durch cast o.Ä.) met1 so aufzurufen, dass diese nicht die überlagerte met2 der Klasse B sonder die der Klasse A aufruft?

    Vielen Dank

    Ivo

  • #2
    Hallo,

    mit etwas fehlender Praxis würde ich sagen, nur dann, wenn man
    in met3 ein Objekt der classA instanziiert (?).
    Ansonsten ist das eben Vererbung.....oder classB darf eben nicht met2 überschreiben............

    Gruss
    Carste

    Comment


    • #3
      hi!

      man kann super.met3() aufrufen,was aber unsauber ist.
      wenn solche fragen auftreten, sollte man sich über das design seines quellcodes gedanken machen, und das problem z.b. per delegation sauber lösen

      hth rocc

      Comment

      Working...
      X