Fields, tulajdonságok, és módszerek

Delphi szakemberek számára. Az objektum-orientált programozás

osztály mezők deklarált változók egy osztályon belül. Ezek célja, hogy tárolja az adatokat az óra alatt példány (objektum). Korlátozások típusától mezők egy osztályban nem biztosított. A leírásban az osztály a mező meg kell előznie a módszerek és tulajdonságok. Jellemzően mezőket használnak műveletek végrehajtása egy osztályban.

Így a mezők kívánják felhasználni az osztályon belül. Azonban az osztály kell valahogy kölcsönhatásba más osztályok vagy szoftver alkalmazás elemekkel. A legtöbb esetben az osztály kell végeznie néhány konkrét intézkedések adatokat és az eredményeket.

Tulajdonságok azok a tulajdonságok teszik ki a személyazonosságát az objektumot, és segítenek leírni. Például a szokásos gombot az alkalmazás ablak olyan tulajdonságokkal rendelkezik, mint a szín, méret, pozíció. Például az osztály „gomb” az attribútumok értékeivel adatokkal kell ingatlanok - specifikus változók értékét a kulcsszó tulajdonság. Szín adható meg a Color tulajdonság. méretek - szélesség és a magasság tulajdonságok, stb ...

Mivel az ingatlan, hogy adatcsere a külső környezet, a hozzáférés-érték speciális osztályban módszerek. Ezért tulajdon általában meghatározott három elemből áll: egy mezőt, és a két módszer, amely végzi írási / olvasási:

funkció GetColor: TSomeType;

eljárás SetColor (ANewValue: TSomeType);

ingatlan AColor: TSomeType olvasni GetColor írási SetColor;

Ebben a példában hozzáférés az ingatlan értékét AColor keresztül metódushívások GetColor és SetColor. Azonban meghívjuk ezeket a metódusokat kifejezetten nem szükséges: elég írni:

és a fordító fog sugározni a fellebbezést önálló AColor ingatlan hívások Getcolor vagy SetColor módszerekkel. Ahhoz, hogy egy külső tulajdonság pontosan úgy néz ki, mint egy közönséges területen, de mindenféle kezelés kívánt művelet akkor elviselni. Például, ha van egy tárgy, amely egy négyzet a képernyőn, és az ő tulajdon „szín” hozzárendeli az érték a „fehér”, nem lesz azonnali átfestés, ami igazi színt a képernyőn szerint az ingatlan értékét. A művelet végrehajtása végzi a módszer, amely együtt jár a beállítási érték az ingatlan „színes”.

A módszerek tartozó tulajdonságokat lehet telepíteni ellenőrzési érték megadásával a megengedett tartományon érték és egyéb eljárások, amelyek függnek a változásokat. Amennyiben szükség lenne speciális eljárásokat, olvasni és / vagy írni ott, akkor helyette a módszer neve mező neveket. Tekintsük az alábbi szerkezetet:

funkció Helyes (AValue: Integer): logikai;

eljárás setValue (newValue: Egész szám);

ingatlan AValue: Egész olvasni FValue levelet setValue;

eljárás TPropObject.SetValue (newValue: Egész szám);

ha (NewValueoFValue) és helyes (newValue), majd EValue: = newValue;

Ebben a példában egy ingatlan értéke AValue olvasás olvasását jelenti mező rvalue. De amikor értékadásra belül setValue nevezve a két módszer.

ingatlan AProperty: TSomeType olvasni getValue;

Ez a példa egy objektum tulajdonság értéke csak olvasni lehet; próbálja meg egy ingatlan értékét AProperty okoz fordítási hibát.

Hozzárendelése az ingatlan az alapértelmezett értéket használja a kulcsszó alapértelmezett.

ingatlan Látható: logikai olvasni FVisible levelet setVisible alapértelmezett True;

Ez azt jelenti, hogy ha a program indításakor a fordító által Legyen True.

A tulajdon lehet egy vektor; Ebben az esetben úgy néz ki, mint egy szilárd:

ingatlan APoints [Index. Integer]: TPoint olvasni getpoint írási SetPoint;

Tény, hogy az osztályban nem lehet a megfelelő mezőket - tömb. Emlékezzünk vissza, hogy a kérelmek feldolgozásának belső szerkezetét az osztály lehet maszkolni.

A vektor tulajdonságainak leírásához szükséges nemcsak a típusa a tömb elemek, hanem a nevét és típusát az index. Miután a kulcsszavakat írni és olvasni ebben az esetben kell a módszer neve - a tömbök mezők itt elfogadhatatlan. Módszer az olvasás értéke a vektor tulajdonságainak kell leírni, mint adó függvény értékének ugyanolyan típusú, mint az ingatlan elemeket, és amelynek egyetlen paramétert az azonos típusú és azonos a neve, mint az index tulajdonságokat:

Hasonlóképpen, a módszer nagy az értéke az ingatlan legyen az első paraméter index, és a második - változó a kívánt típusú (átvihető, mint egy link, és értelmesen):

eljárás SetPoint (Index: integer; NewPoint: TPoint);

A vektoros tulajdonságok, van egy másik fontos jellemzője. Egyes osztályok Delphi (listák t-List, rowsets TStrings) "beépített" körül a fő vektor tulajdonságait (lásd. Ch. 7). A fő módszer az ebbe az osztályba hozzáférést biztosít néhány tömb, és minden más módszer, mint kiegészítő. Különösen, hogy megkönnyítsék a munkát ebben az esetben a vektor funkció lehet leírni az alapértelmezett kulcs szó.

ingatlan Strings [Index: Integer]: string olvasni Get levelet Put; alapértelmezett;

Ha egy objektum egy ingatlan, akkor sem érdemes, és tegye az index szögletes zárójelben után azonnal az objektum neve:

var AMyObject: TMyObject;

AMyObject [2]: = 'Második'; (Második módszer>

Legyen óvatos a kulcsszó alapértelmezett. - mint láttuk, a normál és vektor tulajdonságait használják a különböző körülmények között és eltérő szintaxis.

A figyelmes olvasó figyelmét, hogy a magyarázat a „mező” és a „tulajdon”, szoktuk a koncepció a módszer, és biztosan tudta, hogy általános értelemben. Így a módszer az úgynevezett az osztályban deklarált függvény vagy eljárás, hogy használják a dolgozó mezők és osztály tulajdonságait. Szerint OOP elvek (lásd. Sec. „Beágyazás” ebben a fejezetben), olvassa el az osztály tulajdonságait csak akkor lehetséges módszereit. Hagyományos eljárások és módszerek funkciók különböznek, hogy hívja, amikor a mutatót az objektum okozta. Ezért az adatok feldolgozása az objektum, amely miatt az eljárás. Egyes funkciók használjuk a módszereket az alábbiakban ismertetjük.

Tudtad, hogy az eljárási absztrakció, az eljárás - ez a legismertebb típusú programozás absztrakció. Aki használt funkció végrehajtásához szubrutin végrehajtása ezáltal eljárási absztrakció. Eljárás egyesíti a technika absztrakciós paraméterezéssel és specifikáció, amely lehetővé teszi referáló egyedi ügylet vagy esemény.

Hírek Fórum
Knights-éter elmélet

Kapcsolódó cikkek