Anzeige:
Ergebnis 1 bis 5 von 5

Thema: [OOP] 2 Basisklassen, 2 Methoden mit gleichem Namen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.02.2004
    Beiträge
    113

    [OOP] 2 Basisklassen, 2 Methoden mit gleichem Namen?

    Hey Amigos, wie geht's?

    Wie gehen eigentlich all die verschiedenen OO-Sprachen (Java, C++, Python, ...) mit folgender Situation um?: Eine Klasse erbt von zwei Basisklassen oder implementiert zwei Interfaces, die eine Methode mit dem gleichen Namen haben. Während man den Zugriff auf diese Methode in der abgeleiteten Klasse vermutlich durch einen Cast lösen könnte, ist es mir völlig schleierhaft, wie man in der abgeleiteten Klasse eben diese Methode überschreiben könnte, was ja bei Interfaces (Java) getan werden muß, damit sich die Klasse überhaupt kompiliern läßt. Natürlich dürfte diese Situation relativ selten vorkommen, aber es nimmt mich jetzt trotzdem Wunder.

    Vielen Dank für eure Antworten!
    Gruß,
    /dev

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    Für Java etc. kann ich es nicht sagen, aber für C++ ist das im Prinzip ganz einfach. Die abgeleitete Klasse überschreibt sozusagen die Funktionen beider Basisklassen, vorausgesetzt natürlich, dass nicht nur der Name der Methoden, sondern die komplette Signatur übereinstimmt.

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.02.2004
    Beiträge
    113
    Zitat Zitat von locus vivendi
    Die abgeleitete Klasse überschreibt sozusagen die Funktionen beider Basisklassen
    Irgendwie nachvollziehbar, ja.

    vorausgesetzt natürlich, dass nicht nur der Name der Methoden, sondern die komplette Signatur übereinstimmt.
    Das Wort "Signatur" hätte ich oben noch verwenden können, stimmt!

    Mit Java spiele ich morgen 'rum, ist mir zu spät heute!

    Gruß,
    /dev

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wo ist das Problem bei Java? Ich meine da überschreibst du die Methode halt - eigentlich genau wie in C++ (nur dass bei C++ halt in den Basisklassen schon Implementierungen existieren können)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Also normalerweise deutet ein solches Problem darauf hin, daß man ein ungünstiges Design hat

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •