átalakítás tervező

A kivitelező, hogy egy argumentumot. Beállítja a transzformáció-típus az érvelését, hogy a kivitelező típusát. Ilyen implicit típusú átalakítás alkalmazható, ha egyedülálló.

virtuális tervező

A kivitelező soha virtuális abban az értelemben, virtuális módszer - annak biztosítása, hogy a mechanizmus a virtuális módszerek működnek, meg kell futtatni egy konstruktor, amely automatikusan konfigurálja a virtuális módszer táblázatot ennek az objektumnak.

„Virtual kivitelező” nevezik egy hasonló, de eltérő mechanizmus, amely jelen van bizonyos nyelvek - például ez a Delphi. de nem C ++ és Java. Ez a mechanizmus lehetővé teszi, hogy egy tárgy bármely korábban ismeretlen osztály két feltétellel:

Ez az osztály egy leszármazottja egy adott osztály előre (ebben a példában TVehicle osztály);

egészen örökölni egy alap osztályt létrehozni lánc felülírás leesett. Amikor felülírják virtuális módszer Delphi szintaxis igényel kulcsszó túlterhelés. a régi és az új funkciók különböző aláírásokkal együtt is felülírja, hogy felülbírálja a funkció vagy állít, hogy egy új funkciót az azonos nevű - az utóbbi elfogadhatatlan.

Destructor - egy különleges besorolású eljárás. arra szolgál, hogy deinitsializatsiiobekta (például memóriát).

Destructor Delphi

destructor elpusztítani; felülbírálhatja;

A Delphi, minden osztály leszármazottai legalább osztály TObject, így rendesen kiadja memória, akkor felülírja a destruktor segítségével irányelv felülírás.

A Delphi, közvetlen kihívást jelent a destruktor ritkán használják. Ehelyett használja a módszert ingyen.

Szabad a módszert, ha a tárgy megsemmisül, hogy először ellenőrzi létezik, és felhívja a destruktor. Ez a módszer lehetővé teszi, hogy elkerüljék a hibákat elérésekor egy nem létező tárgy.

5.A osztály szakaszok public, protected, megjelent.

Ha nincs attribútum nincs megadva, akkor az alapértelmezett közzé. ha egy osztály van fordítva irányelv, különben olyan komponensek nyilvános attribútumot. A jobb olvashatóság ajánlott csoportos alkatrészek, amelyek az azonos látási, forgalomba őket a következő sorrendben: magán. védett, nyilvános. közzétett és automatizált. Leírás class akkor így néz ki:

Összetevői saját, védett, és a nyilvánosság.

védett alkatrészek témához mindenütt a készüléket, ahol az osztály nyilvánították, és minden osztály örökös nem számít, hogy melyik osztályba ismertetett modul örököse. Ez az attribútum rendelve azokat az alkatrészeket, amelyek szeretnék tenni csak a gyermek osztályban.

· Mutatók módszerek;

· Egy több elemek száma legfeljebb 32 (a sorrendi értéke 0-31);

· Minden valós típus, kivéve Real48.

Ha hozzáadjuk az alkatrészekkel együtt Delphi helyezi őket közzé szakasz (ez az attribútum láthatóság az alapértelmezett).

Num. integer; Vyzyvaetoshibkukompilyatsii: Megjelent a területen „Num” nem egy osztály, sem interfész type.Pole ilyen típusú kell leírni a másik rész>

A kérdés az átfedő definíciók származtatott osztályokban.

Ha egy modul van leírva, például, TControl típusú objektum, a védett komponenseket az objektum nem lesz elérhető, ami természetes. Ha most ismertetjük az azonos osztályba tartozó modult, származó TControl, akkor ezek a (védett) komponensek válnak elérhetővé, mint például:

TMyControl = osztály (TControl)

Megjegyezzük, hogy az összes komponens elérhetővé válnak: mezők, módszerek és tulajdonságok.

Miért? Nyilvánvaló, hogy azért, mert a készüléket, ahol a leírt osztály, mind a saját alkatrészek és öröksége (beleértve a magán) állnak rendelkezésre. Ha a leírás TMyControl osztályok és objektumok Ebbe az osztályba tartozó különböző modulok, a hozzáférés előírást kezdenek működni, ahogy kellene. Ebben az esetben kiterjeszti a tartomány-komponens tulajdonságait úgy tűnik csak miatt ismételt leírást, nyilvánosan elérhető, például:

TMyControl = osztály (TControl)

Automatizálási alkatrészek (automatizált tag).

A láthatóság ezen összetevők megegyezik a nyilvánosság számára. A különbség az, hogy az automatikus alkatrész generált információk, mint például az automatizálás (Automation típusú információ), amely szükséges az automatizálási kiszolgáló. Automatizálási elemek általában megjelennek csak órák származó osztály TAutoObject bejelentette, OleAuto modult. Ez az osztály, mint a szó automatizált, amelynek célja csak a visszafelé kompatibilitás. Class TAutoObject ComObj modul nem használja a szót automatizált. Automatizálási alkatrészek kiszabott számos korlátozást, amelyen mi nem lakik itt.

Vezető leírások és kölcsönösen függő osztályok (Forward nyilatkozatok és kölcsönösen függő osztályok).

Ha az osztály definíciója szóval végződik osztály és a szimbólum „;” (Pontosvessző), azaz formáját ölti

írja className = osztály;

meghatározása nélkül a szülő osztály vagy összetevők listája, úgy halad előre az osztály leírása.

Meghatározó a leírás az azonos osztályú meg kell tenni az azonos típusú leírása partíciót, előzetes leírást. Más szóval, egy belépő, és meghatározzuk az osztály leírása nem lehet semmit, de a leírás a másik típus.

Advancing leírás lehet leírni a kölcsönösen függő osztályok, egy példát:

TFigure = osztály; // előmozdítása leírás

TFigure = osztály // leírás döntő

Ne tévesszük össze előre az osztály definíciója a meghatározó leírás az osztály, amely származik TObject osztály, de ez nem határozza meg a szülő osztály vagy meghatározott osztálya TObject:

TFirstClass = osztály; // előmozdítása leírás

TSecondClass = osztály // leírás döntő

TThirdClass = osztály (TObject); // határozza leírás

Kapcsolódó cikkek