tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
745
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    moondancer moondancer ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    54
    Hallo,

    ich habe folgendes Problem:
    ich habe eine Klasse B, welche von Klasse A abgeleitet ist (class B extends A ). In dieser Klasse B möchte ich nun jedoch auch Funktionen aus einer dritten Klasse C nutzen. Wie stelle ich dies am besten an. Kann B Funktionen von 2 Klassen erben?

    Viele Grüße
    Christian
     

  2. #2
    rythms rythms ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Ort
    Frankfurt
    Beiträge
    61
    Vererbung ist kein 'Tool' um sich Methoden zugänglich zu machen.
    Du sollst nur eine Klasse beerben, wenn das Kind ein wirkliches Kind der elterlichen Klasse ist. Also z.B. wenn eine Methode einen leicht geänderten Ablauf bekommt oder ähnliches.

    Ist dir das Singleton-Erzeugungsmuster ein Begriff? Damit dürfte sich dein Problem lösen lassen, eventuell ist es das was du suchst. Alternativ kannst du auch einfach Referenzen der Objekte von Klasse A und B an die Klasse C übergeben, dann kannst du diese Objekte dort benutzen.

    http://phppatterns.com/
    http://tripdown.de/artikel_singleton.php
     

  3. #3
    Kerwin Kerwin ist offline Mitglied Brokat
    Registriert seit
    Feb 2004
    Beiträge
    436
    Ich kann jetzt leider nur aus Java Erfahrung sprechen, aber prinzipiell sollte es vom logischen nicht anders sein. Erben kannst du nur von einer Klasse, aber du kannst zig viele Schnittstellen implementieren die dann auf Klasse C zugreifen. Also Schnittstelle machen und diese dann in B implementieren.

    Sry falls ich mich irren sollte
     

  4. #4
    Avatar von GalaxyWarrior
    GalaxyWarrior GalaxyWarrior ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    Grünberg (Hessen)
    Beiträge
    592
    Hi, was vieleicht auch möglich wäre, wo ich aber nicht weiß ob es geht , kann die Klasse A nicht von C erben? Also class a extends c und dann class b extends a?

    Hoffe das geht

    Gruß GalaxyWarrior
     

  5. #5
    Kerwin Kerwin ist offline Mitglied Brokat
    Registriert seit
    Feb 2004
    Beiträge
    436
    Ja, das geht auch. Hat man ja auch relativ oft wenn irgendwelche Objekte immer weiter abgeleitet werden, aber denoch der gleichen Wurzel entsprechen. In Java hat man ja auch eine riesen Klassenhirachie. Nur sollte, wie rythms schon sagte, das ganze auch logisch und strukturell aufgebaut werden.
     

  6. #6
    moondancer moondancer ist offline Mitglied Silber
    Registriert seit
    Sep 2003
    Beiträge
    54
    Singleton-Erzeugungsmuster und Objektreferenzen sagen mir momentan nicht sehr viel (ich programmiere nicht so oft OO in PHP), aber klingt gut, werd mal nachlesen. An den Klassen A und C möchte ich keine Änderungen vornehmen, da aus einer Klassenbibliothek.
     

  7. #7
    ToddurchWendy ToddurchWendy ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Ort
    Duisburg
    Beiträge
    32
    Gibts eigentlich einen Unterschied zwischen

    class a extends b
    class b extends c

    und multiple inheritance?
     
    Ein Litotes ist nicht schlecht...

Ähnliche Themen

  1. Innerhalb einer Klasse eine Instanz einer anderen Klasse
    Von HackerNeo im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 17.11.09, 13:08
  2. Auf Werte einer anderen Klasse zugreifen
    Von mareikiii im Forum Java
    Antworten: 3
    Letzter Beitrag: 19.02.09, 15:42
  3. Auf Ereignisse einer anderen Klasse zugreifen
    Von killerkirsche im Forum Java
    Antworten: 22
    Letzter Beitrag: 07.01.08, 14:17
  4. Antworten: 4
    Letzter Beitrag: 23.08.04, 11:35
  5. Antworten: 8
    Letzter Beitrag: 25.04.04, 15:22