Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Frage zu CodeSysV3.4 - OOP

  1. #1
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe gerade ein wenig Zeit, um mit CodeSys V3.4 herumzubasteln. Aktueller Stand s. Screenshot. Ich habe ein Interface "itfIntf", das von einem FB "fblFblk1" implementiert wird. Dieser FB wird von einem "fblFBlk2" erweitert. Dabei übernimmt der "fblFBlk2" die Eigenschaft "prpProp1" vom Interface "itfIntf", die Set/Get-Methoden sind leer. Warum erbt "fblFBlk2" sie nicht von "fblFBlk1"?
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Frage zu CodeSysV3.4 - OOP  

  2. #2
    Registriert seit
    03.03.2009
    Beiträge
    17
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,

    Methoden werden ebenso vererbt, jedoch nicht im Baum dargestellt.

    Siehst du jedoch beim zugriff auf fblFBlk2.
    Siemens,Wago,Beckhoff,Turck,Codesys,SQL,C,VB,VBA,
    Zitieren Zitieren Vererbung  

  3. #3
    StructuredTrash ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Zitat Zitat von PLEL Beitrag anzeigen
    Hallo,

    Methoden werden ebenso vererbt, jedoch nicht im Baum dargestellt.
    Ja, das ist mir schon klar. Mir geht es aber darum, das etwas NICHT vererbt wird. Die Set-/Get-Methoden der Eigenschaft "prpProp1" sind im "fblFblk1" ausprogrammiert, werden aber nicht an "fblFblk2" vererbt. Dort sind die Methoden leer.

  4. #4
    StructuredTrash ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Habe die Frage mittlerweile selbst beantworten können. Die Vererbung funktioniert schon, aber beim Anlegen eines neuen FB werden von Interfaces stammende Eigenschaften automatisch neu angelegt. Man muss sie wieder löschen, um ihre Set/Get-Methoden vom Vorgänger-FB zu erben.
    Ob das sinnvoll ist, sei dahingestellt. Warum sollten gerade solche Eigenschaften typischerweise überschrieben werden?

  5. #5
    Registriert seit
    02.02.2007
    Beiträge
    104
    Danke
    12
    Erhielt 16 Danke für 13 Beiträge

    Standard

    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Habe die Frage mittlerweile selbst beantworten können. Die Vererbung funktioniert schon, aber beim Anlegen eines neuen FB werden von Interfaces stammende Eigenschaften automatisch neu angelegt. Man muss sie wieder löschen, um ihre Set/Get-Methoden vom Vorgänger-FB zu erben.
    Ob das sinnvoll ist, sei dahingestellt. Warum sollten gerade solche Eigenschaften typischerweise überschrieben werden?
    Ich denke es ist sinnvoll, um das Konzept der Polymorhie konsequent umzusetzen. Dadurch, dass Du das Interface in deinem abgeleiteten FB mit dem Schlüsselwort implements integrierst wird davon ausgegangen, dass Du die Methode/Eigenschaft neu(anders) implementieren willst.

    So verstehe ich es jedenfalls ohne damit je groß gearbeitet zu haben.

    Gruß

    dummy

  6. #6
    StructuredTrash ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Dummy Beitrag anzeigen
    Ich denke es ist sinnvoll, um das Konzept der Polymorhie konsequent umzusetzen. Dadurch, dass Du das Interface in deinem abgeleiteten FB mit dem Schlüsselwort implements integrierst wird davon ausgegangen, dass Du die Methode/Eigenschaft neu(anders) implementieren willst.
    Wenn zwei voneinander unabhängige FB's das selbe Interface implementieren, muss das so sein. Wenn aber ein FB ein Interface nicht implementiert, sondern die Implementierung von einem anderen FB erbt, sollte nach meiner Meinung die Entwicklungsumgebung zunächst davon ausgehen, dass nicht überschrieben wird. Bei Methoden macht sie das ja schliesslich auch.

Ähnliche Themen

  1. Frage
    Von waldy im Forum Stammtisch
    Antworten: 15
    Letzter Beitrag: 29.10.2010, 20:17
  2. Aufklärung um CoDeSysV3
    Von Garog im Forum CODESYS und IEC61131
    Antworten: 12
    Letzter Beitrag: 02.12.2009, 11:11
  3. Antworten: 15
    Letzter Beitrag: 09.04.2009, 20:57
  4. Frage für SCL'er
    Von dinner4one im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.05.2008, 14:10
  5. Antworten: 4
    Letzter Beitrag: 18.05.2005, 18:49

Lesezeichen

Berechtigungen

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