AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vererbung in Delphi

Ein Thema von Christian18 · begonnen am 27. Mär 2006 · letzter Beitrag vom 27. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Vererbung in Delphi

  Alt 27. Mär 2006, 17:48
Hallo,

ich bin gerade mal wieder dabei mich mit Objektorientierter Programmierung (kurz OOP) zu beschäftigen. Ich will eine Mutter Klasse erstellen in der alle Informationen wie zum Beispiel:

- Application Name
- Standard Fenster (Breite, Höhe, Position, ...)

fest deklariert werden. In der Sub Klasse sollen dann diese Eigenschaften genutzt werden können. Meine Frage ich jetzt, ob dies so üblich ist, oder ob man sowas anderes realisiert. Ich meine ich glaube ich spare mir sehr viel Tipp arbeit, wenn ich eine Sub Klasse habe und diese ein Fenster erzeugen soll.
So jetzt zur realisierung. Habt ihr da ein paar vorschläge für mich wie ich das machen kann???

Vielen Dank im vorraus!

Mit freundlichen Grüßen

Christian18
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 17:53
IMHO eher unüblich, aber egal.

Delphi-Quellcode:
type
  TMyParentClass=class
  private
    {Nur in dieser Klasse sichtbar}
  protected
    {Nur in dieser und in abgeleiteten Klassen sichtbar}
  public
    {Immer sichtbar}
    procedure DoFoo; dynamic;
  published
    {Auch im Objektinspektor sichtbar}
  end;

  TMyChildClass=class(TMyParentClass)
  public
    procedure DoFoo; override;
  end;
So geht Ableitung/Vererbung

Delphi-Quellcode:
type
  TApplicationInfo=class
  public
    ApplicationName: String;
    StdX, StdY, StdWidth, StdHeight: Integer;
  end;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#3

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 17:56
Hallo,

erst einmal vielen dank für die schnelle antwort. und was muss ich haben, damit die Sub Klasse zum Beispiel auf den AppNamen der Mutter Klasse zugreifen kann???

MFG Christian18
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 18:01
Die Attribute der "Mutterklasse" sind direkt auch Attribute der "Kindklasse" wenn sich die Klassendefinition der Kindklasse in der selben Unit befindet. Sonst müssen die Attribute/Methoden protected sein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 18:09
@3_of_8: Wenn du Beispielcode postest, solltest du ihn auch erklären .
Z.B. warum du...
Zitat von 3_of_8:
    procedure DoFoo; dynamic;
...hier dynamich statt virtual verwendest.
Zitat:
Delphi-Quellcode:
type
  TApplicationInfo=class
  public
    ApplicationName: String;
    StdX, StdY, StdWidth, StdHeight: Integer;
  end;
...und hier keine Propertys verwendest . und keinen F-Präfix.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#6

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 18:20
Hallo,

eine Frage habe ich mal no. Wenn ich die Tochterklasse erzeuge, wird dann automatisch auch die Mutterklasse erzeugt???

MFG Christian18
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 18:23
Nein, warum auch! Die Tochterklasse hat ja alle Eigenschaften geerbt.
BTW. du solltest mal dein Wissen über OOP/Vererbung überprüfen.
Markus Kinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 19:19
Ich habe mir deine Frage nochmal durchgelesen
Zitat:
...In der Sub Klasse sollen dann diese Eigenschaften genutzt werden können.
Willst du nun Eigenschaften veerben, wie der Betreff vermuten lässt? Oder willst du eine klasse in eine andere einbinden (Sub-classing)?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 20:15
Zitat von Khabarakh:
...hier dynamich statt virtual verwendest.
Dynamic, virtual, ich wollte es für einen Anfänger nicht nur noch komplizierter machen. Außerdem steht das in der OH.

Und Propertys, F-Präfix sind in diesem einfachen Fall auch unnötig. Theoretisch wäre ein Record an dieser Stelle eh besser.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Vererbung in Delphi

  Alt 27. Mär 2006, 20:29
Zitat von 3_of_8:
Zitat von Khabarakh:
...hier dynamich statt virtual verwendest.
Dynamic, virtual, ich wollte es für einen Anfänger nicht nur noch komplizierter machen.
Dann nimm den Standard, nämlich virtual .

Zitat:
Und Propertys, F-Präfix sind in diesem einfachen Fall auch unnötig.
Tut mir leid, aber dann schreibst du nicht (sauber) objektorientiert. Und da der Autor genau das lernen will, sollte man solchen Prozedural-OOP-Mischmasch in Beispielcodes vermeiden.
Zitat:
Theoretisch wäre ein Record an dieser Stelle eh besser.
Stimmt, damit kann man so gut OOP üben .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz