AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Nutzung von Funktionen in verschiedenen Instanzen/Unterklass
Thema durchsuchen
Ansicht
Themen-Optionen

Nutzung von Funktionen in verschiedenen Instanzen/Unterklass

Ein Thema von Ideq · begonnen am 25. Aug 2008 · letzter Beitrag vom 25. Aug 2008
Antwort Antwort
Seite 1 von 3  1 23      
Ideq

Registriert seit: 12. Aug 2008
12 Beiträge
 
#1

Nutzung von Funktionen in verschiedenen Instanzen/Unterklass

  Alt 25. Aug 2008, 18:57
bitte um hilfe,
ich habe ein kleines programm geschrieben indem man auto fahren kann. Es gibt verschiedene Arten von Fahrzeugen die alle eine andere Klasse haben(Fahrrad, Motorrad, Auto), wie kann ich den code so schreiben das ich nicht für jede Instanz dieser klassen extra proceduren zum bewegen und so machen muss? ich meine immer den zusatz meinAuto. usw.
Angehängte Dateien
Dateityp: pas unit1_737.pas (12,6 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 19:31
Du müsstest Dir eine Grundklasse bilden, in der alle Eigenschaften, Methoden usw. vorhanden sind, die für alle gelten und dann von diesen Ableiten.
Delphi-Quellcode:
type
  TFahrzeug = class(TObject) // oder auch etwas anderes
  end;

  TAuto = class(TFahrzeug)
  end;

  TPorsche = class(TAuto)
  end;

  TFerrai = class(TAuto)
  end;

  TFahrrad = class(TFahrzeug)
  end;

  TRennrad = class(TFahrrad)
  end;

  TMountainbike = class(TFahrrad)
  end;
Da ich Deine bisherigen Klassen nicht sehen kann und die Paramter nicht kenne, kann ich ansonsten erst nicht mehr dazu sagen. Wie ich hier gezeigt habe, solltest Du aber mal anfangen Deine Klassen aufzubauen.
Vielleicht kannst Du ja auch mal etwas mehr Code posten.

Grüße
Sven
  Mit Zitat antworten Zitat
Ideq

Registriert seit: 12. Aug 2008
12 Beiträge
 
#3

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:01
danke für die antwort sven
hier im anhang mal das url diagramm wegen den verschiedenen klassen.
aber mir geht es im besonderen darum ob ich einen befehl wie zum beispiel
Delphi-Quellcode:
BildFahrzeug.Top:=meinFahrrad.GibFPositiony;
BildFahrzeug.Left:=meinFahrrad.GibFPositionx;
so mit einer variablen oder so schreiben kann das für alle unterklassen funktioniert, also auch für meinAuto und meinMotorrad
Miniaturansicht angehängter Grafiken
url_653.jpg  
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:14
Hallo Ideq,

ich weiß nicht, ob ich dich richtig verstehe,
aber meinst du sowas?



BildFahrzeug.Top:= TFahrzeug(Sender).GibFPositionY; Wobei im Parameter per "Sender" jeder Nachfahre von TFahrzeug
übergeben werden könnte.

// Edit:
Vielleicht wäre es noch sinnvoller, gerade im Beispiel
der Positionierung eines Fahrzeugs, dass du jedes Fahrzeug
auch selbst für sein Zeichnen verantwortlich machst.

Das Fahrzeug kennt also seine Geschwindigkeit und "weiß",
an welcher Position es sich bei der nächsten Aktualisierung
hinzuzeichnen hat.

Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:21
Ja, wenn ich das richtig gesehen habe, dann wird ja TAuto, TMottorad und TFahrrad von TFahrzeug abgeleitet. Wenn Du jetzt z.B. GibFPositiony schon in TFahrzeug implementierst, dann kannst Du auch von TAuto, TMotorrad und TFahrzeug darauf zugreifen, da es diesen ja bekannt ist. Wie gesagt, Du musst alle die Methoden, Funktionen oder Prozeduren, die für alle gelten sollen in der Basisklasse definieren.
Ich habe gerade gesehen, dass GibFPositiony ja schon in TFahrzeuge definiert ist, dann kannst Du ja von den anderen schon darauf zugreifen.
Ich glaube, ich habe Dich nicht richtig verstanden????

Erkläre noch mal, was Du genau machen willst, oder was Du wissen willst.

Grüße Sven
  Mit Zitat antworten Zitat
Ideq

Registriert seit: 12. Aug 2008
12 Beiträge
 
#6

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:28
ich will diesen befehl :
BildFahrzeug.Top:=meinFahrrad.GibFPositiony; so schreiben das ich nicht je nachdem ob ich ein Auto, Motorrad oder Fahrrad erstelle eine extra procedure schreiben muss
also:
Delphi-Quellcode:
BildFahrzeug.Top:=meinFahrrad.GibFPositiony;
BildFahrzeug.Top:=meinMotorrad.GibFPositiony;
BildFahrzeug.Top:=meinAuto.GibFPositiony;
ist die frage jetzt klarer?

das mit dem sender verstehe ich nicht. hilft mir das?
wie soll ich das fahrzeug selber für sein zeichnen verantwortlich machen ich kann doch aus der unit in der Tfahrzeug definiert ist nicht auf das bild zugreifen welches bewegt werden soll oder?

gruß ideq
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:38
Dann implementiere die Methosde in TFahrzeug
Markus Kinzler
  Mit Zitat antworten Zitat
Ideq

Registriert seit: 12. Aug 2008
12 Beiträge
 
#8

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:40
die methode GibFPositiony steht in der unit der klasse Tfahrzeug
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:42
In der Unit oder der Klasse?
Ich verstehe dein Problem scheinbar nicht
Markus Kinzler
  Mit Zitat antworten Zitat
Ideq

Registriert seit: 12. Aug 2008
12 Beiträge
 
#10

Re: Nutzung von Funktionen in verschiedenen Instanzen/Unterk

  Alt 25. Aug 2008, 20:48
also ich habe eine klasse TFahrzeug von TAuto, TMotorrad und TFahrrad sind unterklassen an die alles vererbt wird.
wenn ich jetzt Methoden der Klasse TFahrzeug aufrufen will sieht der Code ja so aus:
BildFahrzeug.Top:=meinFahrrad.GibFPositiony; GibFPositiony ist eine methode der Klasse TFahrzeug diese will ich ja bei Instanzen von allen unterklasse benutzen, wie muss ich dann den befehl schreiben, dass ich nicht für jede unterklasse einen schreiben muss?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 12:37 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