Ви бачили, що Паскаль об'єкти демонструють деякі характеристики об'єктно-орієнтованої парадигми. Вони реалізують інкапсуляція, приховування даних і наслідування, але у них є свої обмеження. Наприклад, Pascal Об'єкти не беруть участі в поліморфізмом. Так класи широко використовуються для здійснення належного об'єктно-орієнтованої поведінки в програмі, особливо програмного забезпечення на основі графічного інтерфейсу.
Клас визначається майже так само, як об'єкт, але є покажчиком на об'єкт, а не сам об'єкт. З технічної точки зору це означає, що клас виділяється на купі програми, в той час як об'єкт виділяється на стеку. Іншими словами, коли ви оголошуєте змінну типу об'єкта, він буде займати так багато місця в стеку як розмір об'єкта, але коли ви оголошуєте змінну типу класу, він завжди буде мати розмір покажчика в стеці. Дані фактичний клас буде в купі.
Визначення класів Pascal
Її варто відзначити наступні важливі моменти -
Визначення класів повинні підпадають під тип декларації частини тільки програми.
Клас визначається за допомогою ключового словакласса.
Поля елементів даних, які існують в кожному примірнику класу.
Методи оголошуються у визначенні класу.
Існує визначений конструктор під названіемСозданіе в класі Root. Кожен абстрактний клас і кожен конкретний клас є нащадком кореня, так що всі класи мають принаймні один конструктор.
Існує визначений деструктор називаетсяУнічтожіть в класі Root. Кожен абстрактний клас і кожен конкретний клас є нащадком кореня, так що, все класи мають принаймні один деструктор.
Визначимо клас Rectangle, який має два цілочисельних елементів даних типу - довжину і ширину і деякі функції членів маніпулювати членами цих даних і процедуру, щоб намалювати прямокутник.
Напишемо повну програму, яка створить екземпляр класу прямокутника і намалюйте прямокутник. Це той же самий приклад, який ми використовували під час обговорення Pascal об'єктів. Ви знайдете обидві програми практично однакові, з наступними винятками -
Вам потрібно буде включати в себе директиви для використання класів.
Вам потрібно буде включати в себе: директиви для використання конструкторів.
Ось повний приклад -
Коли наведений вище код компілюється і виконується, він проводить наступний результат -
Видимість з класу членів
Видимість вказує на доступність членів класу. Члени Паскаля класу мають п'ять типів видимості -