Delphi-Quellcode:
type
TMyShape = class(TShape)
public
...
constructor Create(Owner: TComponent);
procedure SetDurchmesser(Value : Word);
end;
TForm1 = class(TForm)
Ball: TMyShape;
...
end;
implementation
constructor TMyShape.Create(Owner: TComponent);
begin
inherited Create(Owner);
Brush.Color := clYellow;
Pen.Width := 3;
Shape := stCircle;
Width := 100;
Height := 100;
end;
// Bsp. f. eigene Methode
procedure TMyShape.SetDurchmesser(Value: Word);
begin
Width := Value;
Height := Value;
end;
...
procedure TForm1.FormCreate(...)
begin
// Objekt der eigenen Klasse erstellen
Ball := TMyShape.Create(Self);
Ball.Parent := Self;
Ball.Durchmesser := 100;
...
end;
end.
Das ist jetzt nur sehr beispielhaft... Die Methoden (z.B. MovingBallX()) gehören zu TMyShape, nicht zu TForm1. In Methoden von TMyShape hat ein Verweis auf Form usw. nix zu suchen. Außerdem hatte deine Klasse eine Instanz von sich selbst als Eigenschaft u.ä.
...lies Dir am besten mal jede Menge
OOP-Tutorials, -Bücher usw. durch!
Obiges ist aber noch nicht wirklich sauber, bei
OOP ist auch das Geheimnisprinzip usw. sehr wichtig!
Soll bloß ne kleine Hilfestellung sein..
Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...