Зміст курсу
C++ ООП
C++ ООП
Чому використовувати об'єктно-орієнтоване програмування?
Уявіть, що вам доручили розробити програмне забезпечення для керування даними студентів. Спочатку це може здатися простим завданням. Ви можете почати з використання простих змінних для збереження імені студента та його середнього балу (GPA).
main.cpp
int main() { std::string student_name = "Bob"; float grade_point_average = 3.3; }
Такий підхід добре підходить для керування одним студентом, але ситуація ускладнюється при роботі з декількома студентами. Наївне рішення — використовувати окремі змінні для кожного, але це швидко стає некерованим. Використання масивів — кращий варіант для зменшення повторення та покращення організації.
main.cpp
int main() { std::string names[2] { "Bob", "Ann" }; float avarage_grades[2] { 3.3, 3.7 }; }
Це працює наразі. Але що робити, якщо потрібно зберігати більше деталей, таких як номери телефонів, дати зарахування або списки курсів? Зі збільшенням обсягу даних керування кількома окремими масивами стає складним і схильним до помилок.
main.cpp
int main() { std::string names[2] { "Bob", "Ann" }; float average_grades[2] { 3.3f, 3.7f }; std::string emails[2] { "bob@example.com", "ann@example.com" }; }
Для керування цими даними можна створити функції, які приймають ці значення як аргументи для виконання дій, таких як виведення інформації про студента, оновлення GPA або зміна електронної адреси. Але при роботі з кількома студентами та полями доводиться повторювати одні й ті ж аргументи у багатьох функціях, що робить код схильним до помилок і складним для підтримки.
functions.h
void get_student_info(int id, std::string names[], float gpa[], std::string emails[]); void set_student_info(int id, std::string names[], float gpa[], std::string emails[]); void set_student_name(int id, std::string names[], float gpa[], std::string emails[]); void set_student_gpa(int id, std::string names[], float gpa[], std::string emails[]); void set_student_email(int id, std::string names[], float gpa[], std::string emails[]);
Навіть для простих завдань потрібно щоразу передавати один і той самий набір масивів. З додаванням нових полів код стає все більш складним і повторюваним.
Об'єктно-орієнтоване програмування (ООП) вирішує цю проблему, дозволяючи групувати пов'язані дані та поведінку в єдиний контейнер, який називається класом. Це не лише спрощує код, а й покращує інкапсуляцію завдяки контролю доступу до внутрішніх деталей через чіткі, добре визначені інтерфейси.
Дякуємо за ваш відгук!