Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Композиція та успадкування класів

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Розроблення графічних схем класів та алгоритмів. Контрольний приклад та аналіз результатів комп’ютерної реалізації програми, її лістінг. Проектування інтерфейсу користувача. Послідовність побудування класів "Особа", "Службовець" й "Організація".
Краткое сожержание материала:

Размещено на

Размещено на

Міністерство освіти та науки України

Національний університет «Львівська політехніка»

Кафедра інформаційних

систем та мереж

Звіт до розрахункової роботи

з дисципліни: «Об'єктно-орієнтоване програмування»

на тему:

«Композиція та успадкування класів»

Львів 2014

Зміст

Завдання для розрахункової роботи

Формулювання задачі

Структура програми

Проектування інтерфейсу користувача

Розроблення графічних схем класів та алгоритмів

Контрольний приклад та аналіз результатів комп'ютерної реалізації програми

Список використаної літератури

Додаток(тексти програм)

Завдання для розрахункової роботи

Завдання 6

1. Створити клас ОСОБА (прізвище, ім'я, по батькові, дата народження, стать та ін.).

2. Визначити конструктори ініціалізації, копіювання, деструктори та методи для зміни і читання значень полів даного класу.

3. Перевантажити операцію () для встановлення значень полів даних, операцію присвоєння об'єктів = , потокові операції введення >> та виведення << об'єктів.

4. Створити похідний клас СЛУЖБОВЕЦЬ з додатковими полями - організація, спеціальність за дипломом, посада, оклад, стаж роботи. Визначити необхідні дані, методи, конструктори та деструктори, методи або операторні функції введення-виведення.

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

6. Розробити клас ОРГАНІЗАЦІЯ, що містить масив об'єктів класу СЛУЖБОВЕЦЬ. Знайти кількість осіб, стаж роботи яких перевищує наперед задане значення.

7. Для роботи з масивом об'єктів побудувати та використати клас-ітератор.

Формулювання задачі

Відповідно до завдання мені потрібно буде побудувати 3 класи:

Особа

Службовець

Організація (з вбудованим класом ітератором)

Клас Особа буде базовим класом та буде містити такі поля: прізвище, ім'я, по батькові, дата народження, стать. Та містити в собі віртуальні інтерфейсні методи та методи з перевантаженими операціями.

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

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

Структура програми

У створюваній програмі використовується багатофайлова система побудови коду. Головна програма включає в себе заголовкові файли інших програмних модулів які відповідно містять в собі оголошення та визначення класів котрі використовуються у програмі.

При такій організації структури програми її можна утотожнити із загальною структурою побудови програми. Тому буде використана така файлова структура:

rozr.cpp - файл коду програми який містить у собі виклики методів та створення базових об'єктів.

Employee.h - заголовковий файл що оголошує та визначає похідний клас з даним та методами.

Organization.h - заголовковий файл що містить контейнерний клас з масивом об'єктів та методами маніпулювання ними.

Person.h - заголовковий файл що оголошує та визначає базовий клас з даним та віртуальними методами для подальшого перевизначення.

Проектування інтерфейсу користувача

У даній програмі використано консольний інтерфейс користувача. Головне меню запускається за допомого методу класу «Організація» та містити в собі 5 пунктів:

1 - Add Emploee - Додати працівника

2 - Edit Emploee - Редагувати працівника

3 - Print Personal Info - Надрукувати персональні дані працівників

4 - Count of E with Exp > then - Знайти кількість осіб, стаж роботи яких перевищує наперед задане значення

0 - Exit - вихід з програми

Дане меню створено за допомогою switch-case оператора використаного у циклі.

Розроблення графічних схем класів та алгоритмів

Графічні схеми розроблені та побудовані засобами середовища програмування.

Діаграма залежностей для проекту:

Деталізована діаграма методів класів та алгоритмів:

Класи «Ітератор» та «Організація»

Класи «Персона» , «Службовець» та допоміжна структура «Дата»

Інструкція користувачу

Після запуску програми з'явиться головне меню та базово задані дані створені за допомогою конструкторів різних типів.

При виборі пункту 1 потрібно ввести через пробільні символи дані про нового працівника.

У другому пункті також потрібно ввести повні дані якими буде замінено попередню інформацію.

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

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

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

Контрольний приклад та аналіз результатів комп'ютерної реалізації програми

Запуск програми

Додавання працівника

Результат

Редагування даних працівника

Результат

Друк персональної інформації шляхом видобування інформації із базового класу

Виведення кількості працівників з досвідом більше заданого

Вихід з програми

Список використаної літератури

Конспект лекцій з дисципліни: «Об'єктно-орієнтоване програмування», Кравець П.О., 2013 рік

«Об'єктно-орієнтоване програмування», підручник, Кравець П.О.

Медіа ресурс:

http://om.univ.kiev.ua/users_upload/15/upload/file/prog_lecture_09.pdf

Додаток(тексти програм)

клас алгоритм графічний інтерфейс

Код головної програми

#define _CRT_SECURE_NO_WARNINGS

#include <cstdlib>

#include <iostream>

#include "Person.h"

#include "Employee.h"

#include "Organization.h"

using namespace std;

int main()

{

system("chcp 1251 > nul");

Organization FBI;

Iterator <Employee>I(FBI);

Employee S("Іванов","Іван","Іванович",0,12,5,87,"FBI","CS","Manager",5424,5);

FBI.Add(S);

FBI.Add("Сидорів","Сидір","Сидорович",0,11,2,90,"NASA","SA","Tester",3123,2);

Person * SA = new Employee("Головач","Олена","Федорівна",1,2,9,91,"FBI","FL","Makler",3444,1);

FBI.Add(*dynamic_cast<Employee*>(SA));

delete SA;

FBI.MainMenu();

}

Код класу «Organization»

#pragma once

#include "Employee.h"

int const Amount_Employes = 40;

class Organization

{

Employee Array[ Amount_Employes ];

public:

static int NowCount;

void MainMenu()

{

char c;

while (true)

{

system("cls");

cout<<"Organizationstuff: "<<endl;

PrintAll();

cout<<endl<<"1 - Add Emploee "<<endl;

cout<<"2 - Edit Emploee "<<endl;

cout<<"3 - Print Personal Info "<<endl;

cout<<"4 - Count of E with Exp > then"<<endl;

cout<<"0 - Exit "<<endl;

c = getchar();

Employee temp;

int n;

switch (c)

{

default:

cout<<"Wrong choise "<<endl;

break;

case '0':

cout<<"Exit";

_sleep(200);

putchar('.');

_sleep(200);

putchar('.');

_sleep(200);

putchar('.');

_sleep(200);

exit(0);

break;

case '1':

cout<<"Enter Data:"<&...

Другие файлы:

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

Позахромосомне успадкування
Процес передачі нащадкам спадкових детермінантів не хромосомними структурами клітини. Цитоплазматична спадковість. Гени чоловічої цитоплазматичної сте...

Спадковий договір
Успадкування у первіснообщинному суспільстві. Порядок успадкування за заповітом у відповідності з Цивільним кодексом України. Правова характеристика с...

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

Хромосомне визначення статі та успадкування ознак, зчеплених зі статтю
Сутність статевих хромосом. Типи визначення гомо- та гетерогаметної статі в генетиці. Успадкування ознак, зчеплених зі цими ознаками та якостями. Знач...