AGB  ·  Datenschutz  ·  Impressum  







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

OOP Variablen übergeben.

Ein Thema von DelphiNoob1.0 · begonnen am 8. Okt 2014 · letzter Beitrag vom 8. Okt 2014
Antwort Antwort
DelphiNoob1.0

Registriert seit: 23. Okt 2012
Ort: Berlin
13 Beiträge
 
Delphi 6 Personal
 
#1

AW: OOP Variablen übergeben.

  Alt 8. Okt 2014, 19:41
Oh Super danke, aber wie hole ich die Wert aus Unit2?

Code:
FBorder_Pattern(stylebox1.text);
?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: OOP Variablen übergeben.

  Alt 8. Okt 2014, 19:47
Garnicht, du übergibst den Wert in Unit2 an das Objekt.

<Objekt>.BorderPattern := Stylebox1.Text;
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiNoob1.0

Registriert seit: 23. Okt 2012
Ort: Berlin
13 Beiträge
 
Delphi 6 Personal
 
#3

AW: OOP Variablen übergeben.

  Alt 8. Okt 2014, 19:50
Wozu brauch ich dann die property?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: OOP Variablen übergeben.

  Alt 8. Okt 2014, 20:03
Ja man könnte auf sie verzichten, ich finde aber

obj.Top := 0; obj.Left := 0; obj.Width := 100; obj.Height := 100; Besser lesbar als

obj.SetTop(0); obj.SetLeft(0); ... Bei einer property ohne Setter/Getter wird im Kompilat, dann direkt auf die privaten Felder zugegriffen.
Später kann man dies dann einfach auf Setter/Getter umstellen ohne das der kosumierende Code geändert werden muss.

obj.Top := 0; -> obj.FTop := 0; In diesem Fall wird statt der Zuweisung der setter augerufen

obj.Top := 0; -> obj.SetTop(0); Für eine propery muss auch kein privates Feld existieren oder sie kann read oder writeonly sein

Delphi-Quellcode:
type
  Klasse = class
 private
  FGebDat: TDate;
  ...
  procedure CalcAlter: Integer;
 public
  property Alter: Integer read CalcAlter;
...
end;
...
procedure <Klasse>.CalcAlter: Integer;
begin
  result := (Today-FGebdat) DIV 364; // dirty implementation
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#5

AW: OOP Variablen übergeben.

  Alt 8. Okt 2014, 20:09
Und bevor die Frage kommt: Warum nicht die Felder public machen und einfach direkt drauf zugreifen?

A: Das wäre nicht OOP.
B: So verbaut man sich die Möglichkeit den Code zu trennen und vorallem später mal Getter und/oder Setter dazischenzuschalten.
C: Man kann den Zugriff steuern und prüfen. (übergebene Werte im Setter auf einen gültigen Bereich/Wert prüfen und im Getter prüfen ob und was gelesen wird)
D: Was die Klasse intern macht ist egal und sollte nicht nach außen getragen werden. Nur die öffentliche Schnittstelle hat externe Codes zu interessieren.
X: uvm.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Okt 2014 um 20:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 20:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz