Створення власних класів та об'єктів

Вивчення основних понять об'єктно-орієнтованого програмування. Методика створення об'єктів і побудови програм. Опис класів, конструкторів, деструкторів і метод-процедур у Delphi та Object Pascal у складі інтерфейсного та реалізаційного розділів модуля.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык украинский
Дата добавления 19.03.2011
Размер файла 14,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лабораторна робота

Створення власних класів та об'єктів

Мета: засвоїти основні поняття об'єктно-орієнтованого програмування, навчитися створювати свої об'єкти і будувати програми, засновані на об'єктному підході.

Порядок роботи:

Створити проект для виконання індивідуального завдання.

Оформити звіт для захисту лабораторної роботи за зразком

назва роботи

мета роботи

порядок роботи

короткі теоретичні відомості

алгоритм розв'язку задачі

тексти відповідних модулів проекту

аналіз отриманих результатів та висновки

Питання для самоконтролю

1. Що таке "клас" та "об'єкт"?. Яке вони співвідносяться між собою?

2. Що таке "модуль". Які існують правила побудови модуля та роботи з ним?

3. Як описати класи та об'єкти в Object Pascal?

4. Що таке "поле" та "метод"? Як описати поля та методи певного класу?

5. Як реалізувати та викликати методи?

6. Що таке "конструктор", "деструктор" та коли вони викликаються?

Теоретичні відомості

У 80-х роках стали з'являтися перші комерційні системи розробки, у яких була реалізована нова парадигма програмування, так званий об'єктний підхід, що дозволило різко підвищити продуктивність праці програмістів. Підхід був заснований на понятті об'єкта, як екземпляра (представника) певного класу. Клас розглядається як тип даних, у якому поєднуються як поля даних, так і методи їхньої обробки. Об'єкт є змінною цього типу.

Фактично об'єкт став відбивати реальні та абстрактні поняття навколишнього світу. Наприклад, автомобіль характеризується такими полями як марка, тип двигуна, наявність коліс і керма, а файл - назвою та розміром. "Методи" автомобіля визначають його здатність рухатися в потрібному напрямку залежно від значень своїх полів: обсягу наявного бензину, кута повороту керма. З файлу за допомогою методів можна зчитувати дані, змінювати їх і записувати назад.

Використовуючи об'єктно-орієнтоване програмування можна створювати програми, ґрунтуючись на поняттях класу та об'єкта. Працювати зі звичними поняттями людині легше, ніж з абстрактними числами. При цьому можна виділити певний набір класів, що потрібні при створенні найрізноманітніших програм. Ці класи використовуються повторно, без витрати часу на їх програмування. Саме такий підхід і реалізований у системі програмування Delphi.

Використання класів та об'єктів у програмах

Клас у Delphi описується у складі модуля (unit). Модулі - це частини на які розбивається програма. Кожен модуль складається з двох розділів - інтерфейсного (interface) і реалізації (implementation). Усе, що написано в інтерфейсній частині, автоматично стає доступним в програмі, до якої буде підключений модуль. Розділ реалізації є прихованим від доступу з інших програм та модулів.

Модуль описується наступним чином:

Unit {ім'я_модуля;}

interface

{описи типів даних, змінних, констант}

implementation

{реалізація процедур та функцій}

end.

Опис класів

Опис класу в Object Pascal є схожий до опису запису. Головна відмінність у тім, що в класі присутні не тільки поля, але і методи - процедури та функції. Формат опису класу такий:

type {ім'я_класу}=class

{поле1: тип1;}

{поле2: тип2;}

. . .

{поле N: тип N;}

{заголовок_методу1;}

{заголовок_методу2;}

. . .

{заголовок_методу m;}

end;

програмування конструктор інтерфейсний модуль

У заголовку методу подається лише перший рядок - procedure чи function, а за ним ім'я методу і його параметри. Сам текст процедури чи функції, що реалізує метод, пишеться у розділі implementation. При цьому до назви методу спереду дописується через крапку назва класу, щоб дозволити використовувати однакові назви для методів різних класів, які описані в модулі.

У кожного класу є два спеціальних методи - конструктор і деструктор. Конструктор викликається при створенні екземпляра цього класу. У ньому виділяється динамічна пам'ять і задаються початкові значення усіх полів об'єкта. Як правило, конструктор має назву Create.

Деструктор виконується при завершенні роботи з об'єктом. Головне його призначення - звільнення динамічної пам'яті, захопленої змінною-об'єктом. Деструктор як правило має назву Destroy.

Описуються конструктори та деструктори так само, як і звичайні методи-процедури, тільки замість procedure потрібно писати constructor чи destructor.

Для застосування розробленого класу слід описати змінну цього класу (об'єкт) і надалі використовувати звертання до полів та методів подібно до звертання до полів записів, тобто розділяючи крапкою назву об'єкта від назви поля або метода. Винятком є конструктор, який слід викликати в операторі присвоєння:

<назва об'єкта> := <назва класу>.<назва конструктора>.

Після написання модуля його можна відкомпілювати, при цьому на диску створюється новий файл з таким саме ім'ям та розширенням *.dcu . Цей файл можна підключати в будь-яку іншу програму оператором uses.

Завдання.

Написати програму, яка демонструє роботу з класами та об'єктами. Опис класу та реалізацію методів виконати в окремому програмному модулі.

Варіанти завдання

Описати клас для векторів, що задаються координатами кінців у тривимірному просторі. Забезпечити операції додавання та віднімання векторів з одержанням нового вектора (суми чи різниці), обчислення скалярного добутку двох векторів, довжини вектора, косинуса кута між векторами.

Побудувати клас для опису плоскої геометричної фігури: прямокутник. Передбачити методи для створення об'єкта, переміщення на площині, зміни розмірів і обертання на заданий кут.

Описати клас для одномірних масивів рядків фіксованої довжини. Передбачити можливість звертання до окремих рядків масиву по індексах, контроль виходу за межі масиву, виконання операцій поелементного з'єднання двох масивів з утворенням нового масиву, злиття двох масивів із вилученням елементів, що повторюються, вивід на екран елемента масиву по заданому індексу і всього масиву.

Описати клас для одномірних масивів цілих чисел (векторів). Передбачити можливість звертання до окремого елемента масиву з контролем виходу за межі масиву, можливість завдання довільних границь індексів при створенні об'єкта та виконання операцій поелементного додавання та віднімання масивів з однаковими границями індексів, множення та ділення всіх елементів масиву на скаляр, вивід на екран елемента масиву по заданому індексу і всього масиву.

Побудувати клас для опису плоскої геометричної фігури: коло. Передбачити методи для створення об'єкта, переміщення на площині, зміни розмірів і зміни кольору фігури, обертання навколо заданої точки на заданий кут.

Описати клас "множина символів", який дозволяє виконувати основні операції - додавання та вилучення елемента, перетин, об'єднання та різницю множин.

Описати клас прямокутників зі сторонами, паралельними до осей координат. Передбачити можливість переміщення прямокутників на площині, зміну розмірів, побудову найменшого прямокутника, що містить два заданих прямокутники, і прямокутника, що є спільною частиною (перетином) двох прямокутників.

Описати клас поліномів від однієї змінної, що задаються степенем полінома та масивом коефіцієнтів. Передбачити методи для обчислення значення полінома для заданого аргументу, операції додавання, віднімання та множення поліномів з одержанням нового об'єкта-полінома, вивід на екран опису полінома.

Описати клас, що забезпечує представлення матриці довільного розміру з можливістю зміни числа рядків і стовпців, вивід на екран підматриці будь-якого розміру і всієї матриці.

Побудувати клас для опису плоскої геометричної фігури: еліпс. Передбачити методи для створення об'єкта, переміщення на площині, зміни розмірів і кольору, обертання навколо центру на заданий кут.

Описати клас для представлення раціональних дробів. Забезпечити виконання операцій додавання, віднімання, множення та ділення таких чисел. Передбачите перевірку ділення на нуль.

Побудувати клас для опису плоскої геометричної фігури: трикутник. Передбачити методи для створення об'єкта, переміщення на площині, зміни розмірів і зміни кольору фігури, перевірки, чи два трикутника перетинаються.

Размещено на Allbest.ru


Подобные документы

  • Основні відомості про історію розвитку мови Object Pascal, середовища Delphi, їх основні технології та застосування для роботи з файлами. Опис основних особливостей мови, основних елементів програмної мови. Принципи об'єктно-орієнтованого програмування.

    курсовая работа [471,5 K], добавлен 12.04.2010

  • Ключові поняття мови об’єктно-орієнтованого програмування C++: інкапсуляція, наслідування, абстракція, поліморфізм. Об’ява класів у мові С++. Графічні засоби. Пошук відстані між точками. Опис класів і об’єктів. Програма графічної задачі. Лістинги файлів.

    курсовая работа [144,3 K], добавлен 14.03.2013

  • Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.

    курсовая работа [502,5 K], добавлен 01.04.2016

  • Редагування за допомогою текстового редактора NotePad вхідного файлу даних. Програмна реалізація основного алгоритму з використанням засобів об'єктно-орієнтованого програмування. Об’ява та опис класів і об'єктів. Розробка допоміжних програмних засобів.

    курсовая работа [69,4 K], добавлен 14.03.2013

  • Концепції об'єктно-орієнтованого програмування. Конструктори та деструктори. Успадкування класів. Побудова об’єктної моделі. Визначення об'єктів та класів і зв’язків між ними. Реалізація програми в середовищі Visual Studio C++. Інтерфейс програми.

    курсовая работа [743,7 K], добавлен 25.01.2016

  • Принципи об'єктно-орієнтованого підходу. Розробка програмного комплексу з використанням цього алгоритму і користувальницьких класів на мові програмування С++. Реалізація простого відкритого успадкування. Тестування працездатності системи класів.

    курсовая работа [98,0 K], добавлен 06.05.2014

  • Проектування ієрархії класів побутових приладів (пральна машина, пилосос, телевізор, магнітофон, радіоприймач, музичний центр), створення її структурної схеми. Розробка програми з використанням об'єктів створених класових типів на мові програмування Java.

    лабораторная работа [451,0 K], добавлен 25.01.2014

  • Розробка програми на мові програмування С++ з використанням об’єктно-орієнтованого програмування, яка включає в себе роботу з файлами, класами, обробку числової інформації і роботу з графікою. Структура класів і об’єктів. Лістинг та алгоритм програми.

    курсовая работа [104,4 K], добавлен 14.03.2013

  • Об'єктно-орієнтоване, або об'єктне, програмування. Поняття об'єктів і класів. Розробка програмного забезпечення. Створення операційних систем, прикладних програм, драйверів пристроїв, додатків для вбудованих систем, високопродуктивних серверів.

    контрольная работа [135,2 K], добавлен 25.10.2013

  • Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.

    курсовая работа [211,3 K], добавлен 19.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.