Всего на сайте:
119 тыс. 927 статей

Главная | Информатика

Інтерфейс Date  Просмотрен 59

ВСТУП

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

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

Завдання курсової роботи - створити модель реального об’єкту використовуючи засоби мови C#.

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

Для зручної роботи з програмою було розроблено меню, яке дозволяє з легкістю оперувати програмою та забезпечує приємну роботу з нею.


 

1. ПОСТАНОВКА ЗАДАЧІ

Мета курсового проекту: побудувати на мові C# ієрархічну модель класів, що відображає реальну модель реальних об’єктів.

Вхідна інформація – класи та поля класів.

Вихідна інформація – відображення реальної моделі реальних об’єктів.

Засоби програмної реалізації: Microsoft Visual Studio 2010.

Дане програмне забезпечення може використовуватися на підприємствах та в наукових установах для збереження інформації про працівників.

Задача побудови ієрархічної моделі класів, полягає у пошуку та створенні взаємозв’язків між класами, які б якнайкраще відображали реальні об’єкти.


 

 

2. ОСНОВНІ ПОНЯТТЯ ТА ЗАСОБИ РЕАЛІЗАЦІЇ

2.1 Основні поняття

 

Пояснимо поняття, що були використані у визначенні об'єктно-орієнтованої методології. Об'єкт — це реальна або абстрактна сутність, яка моделює частину навколишньої дійсності. Отже, кожний реальний предмет — це об'єкт. Прикладами реальних об'єктів є автомобіль, літак, завод, людина, матриця, вектор тощо. Ті самі слова: «автомобіль», «літак», «людина» тощо позначають не об'єкти, а класи, коли йдеться не про конкретний автомобіль, літак або людину, а, наприклад, про автомобіль або літак як різновид транспортного засобу і про людину як біологічний вид. Отже, клас є абстракцією множини об'єктів, що мають спільні властивості і поведінку. Транспортний засіб і біологічний вид — це теж класи. Відношення між літаком і транспортним засобом або між видом «homo sapiens» і біологічним видом взагалі є відношенням успадкування, або відношенням «є» (англ. «is а»): літак є різновидом транспортного засобу, вид «homo sapiens» є різновидом біологічного виду. Коли клас В є різновидом класу А, то А називається класом-предком, В — класом-нащадком.

З погляду програмування об'єкт складається з атрибутів і методів. Атрибути описують властивості об'єкта у певний момент часу, методи — властиву для об'єкта поведінку. Всі об'єкти, що є екземплярами одного класу, мають однаковий набір атрибутів і методів. Значення атрибутів зберігаються в змінних, а дії методів описуються в процедурах або функціях Тому клас може бути визначений як набір оголошень змінних-атрибутів і підпрограм-методів. Визначені всередині класу елементи даних називаються змінними-членами класу, процедури і функції — функціями-членами, або методами класу. Оголошення класу називається його інтерфейсом, а опис його методів — реалізацією. Як правило, інтерфейс класу відокремлюється від його реалізації.

Об'єктно-орієнтоване програмування ґрунтується на трьох концепціях: інкапсуляції, успадкування і поліморфізму. Інкапсуляція — це механізм, який дозволяє захистити атрибути й методи об'єкта від некоректного використання. Згідно з принципами інкапсуляції атрибути класу не можуть бути доступними для екземплярів інших класів безпосередньо. Доступ до атрибутів має здійснюватися лише через методи класу. Наприклад, доступ до двигуна автомобіля можна здійснити лише за допомогою методів «завести», «вимкнути», «перемкнути швидкість» тощо. Саме завдяки інкапсуляції можна отримати зиск у разі відокремлення інтерфейсу класу від його реалізації. Адже інкапсуляція дає можливість зробити програми, що використовують об'єкти певного класу, незалежними від способу реалізації цього класу.

Успадкування дозволяє систематизувати подібні класи на підставі їх спільних властивостей. Клас, що містить атрибути і методи, спільні для групи подібних один до одного класів, називається базовим класом, або класом-предком. Класи, що успадковують властивості і функціональні особливості базового класу, називаються похідними класами, або класами-нащадками. Як уже зазначалося, успадкування застосовують для класів, пов'язаних семантичним відношенням «є». Іншими словами, вважається, що екземпляр похідного класу водночас є екземпляром базового класу. Це дає можливість об'єктам-нащадкам використовувати атрибути і методи об'єк-тів-предків як свої власні (хоча слід зазначити, що деякі мови програмування, наприклад C++, дозволяють встановлювати обмеження на доступ до атрибутів і методів предків з боку методів нащадків). Найважливішою властивістю успадкування є те, що воно дає можливість уникнути повторень коду, адже спільний для множини подібних класів код може бути винесений в методи їх спільного предка. За допомогою механізму успадкування можна побудувати ієрархію класів.

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

 

2.2 Засоби реалізації

Для написання даного програмного продукту було обрано мову програмування C#. Цей вибір обумовлюється як зручністю даної мови, так і її актуальністю в наш час.

С #— об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML.

На відміну від традиційних поглядів, коли програму розглядали як набір підпрограм, або як перелік інструкцій комп'ютеру, ООП програми можна вважати сукупністю об'єктів. Відповідно до парадигми об'єктно-орієнтованого програмування, кожний об'єкт здатний отримувати повідомлення, обробляти дані, та надсилати повідомлення іншим об'єктам. Кожен об'єкт — своєрідний незалежний автомат з окремим призначенням та відповідальністю.

Для виконання поставленої задачі підходить мова програмування С# своєю простотою і ефективністю, можливістю створення власних класів і використання вже існуючих.


 

 

3. ІЄРАРХІЯ КЛАСІВ І ДЕЛЕГАТИ

3.1 Список класів

 

Наша система (рисунок 3.1) складається з розроблених нами класів та Person, Author, Thesis, Abstract, File, Program та інтерфейcів Date, Subject. При цьому Date реалізуєьбся в класі Person і Abstract. Клас Person наслідується в класі Author . Список авторів класу Author агрегується в Thesis .Список тем класу Thesis агрегуються в класі Abstract.Клас File містить методи для зчитування даних з бінарного файлу, запис в файл(бінарний, текстовий). Клас Program містить метод static void Main(). Цей метод автоматично запускається при запуску програми і в ньому запускається на виконання меню, в якому представлені команди: Change object(Зміни об’єкту), Show object(Показати об’єкт), Write to file(Запис до файлу), Read from file(Зчитування з файлу), Write to binary file(Запис до бінарного файлу), Read from binary file(Зчитування з бінарного файлу), Static function(Статична функція), Search(Знайти об’єкт), Exit(Вихід). В результаті реалізується користувацький інтерфейс за допомогою якого користувач може зручно маніпулювати програмою .

Рис. 1 Класи та інтерфейси


 

 

Інтерфейс Date

 

Цей інтерфейс представляє точну дату. В проекті він використовується для представлення визначення Дати народження, дати подання тез та дати випуску. Поля: int year – кількість років, int month – кількість місяців, int day – кількість днів.

Властивості: для всіх полів було створено звичайні властивості, але з модифікатором доступу private

Методи:

· void Display () – в наступних класах буде перевизначений для виведення відповідних полів.

Рис 2. Інтерфейс Date

Предыдущая статья:СТАДИИ ГОЛОДАНИЯ И ВОССТАНОВЛЕНИЯ (по Ю. С. Николаеву и Е. И. Нилову) Следующая статья:Клас Person
page speed (0.0125 sec, direct)