
- •1Об’єктно-орієнтоване програмування
- •1.1Основи ооп
- •1.2Створення класів. Методи, властивості, поля
- •1.3Ієрархія класів у програмі
- •2.1Створення форми. Використання Multiple Document Interface (mdi). Події, властивості.
- •2.2Опис використаних елементів управління.
- •2.3 Реалізація графічних елементів програми.
- •3Збереження даних.
- •3.1Створення таблиці. Приклад застосування у програмі.
- •3.2Колекції. Додавання до колекції елементів і доступ до елементів колекції.
- •3.3Запис і читання з файлу.
- •4Реалізація програми мовою с# з використанням ооп
- •4.1Інтерфейс програми.
- •4.2Демонстрація можливостей програми. Тестовий приклад.
- •Висновки.
- •Список використаних джерел.
- •Додаток1.Текст програми
Міністерство освіти і науки України Львівський національний університет імені Івана Франка Факультет електроніки
Кафедра радіофізики |
|||
Курсова робота |
|||
з курсу «Об’єктно-орієнтоване програмування» |
|||
на тему: «Розробка програмного забезпечення для реєстрації волонтерів на події» |
|||
Львів-2010
|
|||
|
|
Анотація
За допомогою технології Windows Forms реалізовано програму обліку даних про волонтерів та подій, на які вони зареєстровані. Програма написана мовою С#. Мета курсової роботи – продемонструвати, на прикладі даної програми, можливості об’єктно-орієнтованого програмування (ООП). Інтерфейс користувача розроблено у Windows Forms.
Summary
With Windows Forms is written application for accounting data of volunteers and events to which they are registered. Application is written in C#. The purpose of course work is to demonstrate OOP (Object-Oriented Programming) features on an example of this program. User interface is implemented with Windows Forms.
Зміст
Вступ 4
1 Об’єктно-орієнтоване програмування 5
1.1 Основи ООП 5
1.2 Створення класів. Методи, властивості, поля 7
1.3 Ієрархія класів у програмі 10
2 Windows Forms 11
2.1 Створення форми. Використання Multiple Document Interface (MDI). Події, властивості. 11
2.2 Опис використаних елементів управління. 14
2.3 Реалізація графічних елементів програми. 18
3 Збереження даних. 22
3.1 Створення таблиці. Приклад застосування у програмі. 22
3.2 Колекції. Додавання до колекції елементів і доступ до елементів колекції. 23
3.3 Запис і читання з файлу. 25
4 Реалізація програми мовою С# з використанням ООП 27
4.1 Інтерфейс програми. 27
4.2 Демонстрація можливостей програми. Тестовий приклад. 28
Висновки. 32
Список використаних джерел. 33
Додаток1.Текст програми 34
Вступ
Об’єктно-орієнтоване програмування (ООП) – це еволюційний крок, який випливає із розвитку програмування. ООП дає нам можливість відчути себе не тільки програмістом, а й архітектором, проектуючи структуру програми, створюючи красиві форми. Створення класів за допомогою ООП можна порівняти з будуванням будинку. Спочатку ми створюємо план – описуємо клас, а пізніше будуємо будинок – створюємо об’єкт, тобто сутність класу.
Ціль моєї курсової роботи продемонструвати основи ООП на прикладі програми реєстрації волонтерів і подій за допомогою технології Windows Forms.
Без комп’ютерних технологій неможливе сьогодення. З інтеграцією України в Європу активно розвивається волонтерський рух. Будь-який громадський захід не може проходити без активної участі волонтерів, тому дуже часто виникає необхідність занести дані про осіб з можливістю їх подальшого використання.
Дана програма проводить реєстрацію волонтерів на події у суспільному житті. За допомогою неї ми можемо вносити дані про волонтерів і про події, які можна зберігати.
Програма має красивий і зручний інтерфейс, який забезпечує приємну роботу з нею.
1Об’єктно-орієнтоване програмування
1.1Основи ооп
З розвитком програмування виникла ідея поєднати в межах однієї сутності дані і код, що безпосередньо опрацьовує ці дані. Така сутність отримала назву об’єкт, а відповідний підхід до створення програм називають об’єктно-орієнтованим програмуванням.
Об’єктно-орієнтоване програмування (ООП) – це парадигма програмування, яка розглядає програму як сукупність гнучко пов’язаних між собою об’єктів. Кожен об’єкт має суттєві характеристики, які відрізняють його від усіх інших об’єктів. Сукупність таких характеристик називається абстракцією. Розрізняють абстракції стану та поведінки об’єкта.
Стан (дані об’єкта) характеризується переліком та значенням певних ознак. Поведінка (функціонал об’єкта) визначається набором операцій, які виконуються об’єктом, або над об’єктом.[1]
Кожен об’єкт є екземпляром (представником) певного класу. Відповідно, клас – це відповідна абстракція об’єктів.
Основні переваги концепції ООП:
моделювання предметів та явищ реального світу;
можливість створювати користувацькі типи даних (класи);
приховування деталей реалізації (інкапсуляція);
можливість повторного використання коду (наслідування);
інтерпретація викликів процедур та функцій на етапі виконання (поліморфізм).
Інкапсулювання – це механізм в програмуванні, який пов’язує в одне ціле функції і дані, якими вони маніпулють, а також захищає їх від зовнішнього доступу і неправильного застосування. В об’єктно-орієнтованій мові функції і всі необхідні дані можуть пов’язуватись таким способом, що створюється автономна структура – об’єкт. Іншими словами, об’єктом є структура, яка підтримує інкапсулювання. В межах об’єкта функції, дані або і функції і дані можуть бути або закритими для інших об’єктів (private), або відкритими (public).
Модифікатори доступу:
Модифікатор private – забороняє доступ до полів і методів класу ззовні самого класу. Поля і методи, оголошені з модифікатором private, будуть доступні тільки в межах самого класу.
Якщо поле і метод класу визначені з модифікатором public, вони доступні ззовні оголошення базового класу чи похідних класів. Це в деякій мірі означає, що метод оголошений із зовнішнього класу може вільно звертатись до таких полів і методів. З допомогою модифікатора protected можна доступитись до полів і методів базового класу тільки для похідних класів, але не для зовнішніх по відношенню до класу методів. Модифікатор internal представляє комбінацію модифікаторів public і protected. Він обмежує доступ відмічених ним полів і методів межами одної збірки.
Успадкування – це властивість, з допомогою якої один об’єкт може набувати властивостей іншого. При цьому підтримується концепція ієрархічної класифікації. Без використання успадкування кожний об’єкт повинен явно визначати всі свої характеристики; використовуючи наслідування, об’єкт повинен визначати тільки ті якості, які роблять його унікальним в межах свого класу. Визначення нового класу (породжений клас, підклас, англ. derived class, англ. subclass) може базуватись на визначенні вже існуючого (базовий клас, англ. base class, англ. superclass). В такому випадку, новий клас отримає властивості та поведінку базового класу, та доповнить їх своїми власними. У випадку одиничного успадкування, у кожного класу може бути лише один безпосередній базовий клас. У випадку множинного успадкування, дозволяється існування декількох безпосередніх надкласів. Застосування методів успадкування дозволяє покращити повторне використання коду шляхом використання вже визначених властивостей та методів (поведінки) базових класів.
Разом з інкапсуляцією і успадкуванням поліморфізм також являє собою одну із важливих концепцій ООП. Застосування цієї концепції дозволяє значно полегшити розробку складних програм.
Термін поліморфізм має грецьке походження і означає «наявність багатьох форм». З поліморфізмом тісно пов’язані такі поняття,як абстрактні класи, віртуальні методи, перевантаження методів і властивостей.
Віртуальні методи – один із найважливіших прийомів реалізації поліморфізму. Вони дозволяють створювати загальний код, який може працювати разом з об’єктами базового класу, так і з об’єктами будь-якого його класу-нащадка. При цьому базовий клас визначає спосіб роботи з об’єктами і будь-які його нащадки можуть представляти конкретну реалізацію цього способу. Базовий клас може і не представляти реалізацію віртуального методу, а тільки оголошувати про його наявність. Такі методи без реалізації називаються абстрактними. Клас, який містить хоча б один такий метод називається абстрактним. Об’єкт такого класу створювати не можна. Нащадки абстрактного класу повинні обов’язково представити реалізацію для всіх його абстрактних методів, інакше, вони в свою чергу будуть абстрактними. Можливість присвоювати різну функціональність одному методу називається перевантаженням методу.[3]