Změny

Skočit na navigaci Skočit na vyhledávání

New()

Přidáno 1 375 bajtů, 21. 9. 2012, 13:49
bez shrnutí editace
procedure New( var P: Pointer [; constructor ] );
Procedúra New() inicializuje inštanciu objektu typu, na ktorý ukazuje pointer “P”. Pridelí miesto v dynamickej pamäti podľa typu “P”. Ak je inicializovanie zložitejšie, bežne sa na túto činnosť používa zvláštna metóda objektu – [[konštruktor]], ktorý sa uvádza ako nepovinný druhý parameter.


; Výstraha!
: Špecifikácia formálneho parametra (len) ako Pointer je zavádzajúca! V Turbo Pascale je možné deklarovať premennú ako pointer bezudania typu:
var P: Pointer;
ale v procedúre New() musí byť prvý parameter konkrétneho typu pointer na nejaký definovaný objekt (alebo záznam), ktorého dĺžka je známa a ktorú Pascal použije pri určovaní veľkosti pridelenej pre objekt (záznam). (Programátor v podobnej situácii, v príkaze [[GetMem()]] použije štandardnú funkciu SizeOf(), ktorá vráti dĺžku objektu (záznamu, inej entity), ktorá bola parametrom [[SizeOf]] .


; Ospravedlnenie
: Hovoríme o dynamickej pamäti . Namiesto toho by bolo vhodnejšie hovoriť o dynamicky '''prideľovanej''' pamäti. Dynamická pamäť je terminus technicus z technického vystrojenia počítačov (hardware) a znamená niečo úplne iné. Hovoriť o dynamickej pamäti v Turbo Pascale je však vžitý zlozvyk.

[[Category:Objektovo_orientované_programovanie]]

Navigační menu