Об'єктно-орієнтоване програмування (OOP) є популярною парадигмою програмування (paradigms), яка широко використовується в розробці програмного забезпечення. OOP має два основні елементи: клас і об'єкт, які допомагають створювати структуру програми. У цьому пості ми спробуємо зрозуміти, що таке класи та об'єкти, а також як вони працюють, на прикладі.
Що таке клас?
Клас — це, по суті, шаблон або план для створення об'єктів (Object). Клас визначає дані (attribute) та методи (method), які використовуються через об'єкти цього класу.
Що таке об'єкт?
Об'єкт — це конкретний екземпляр (instance) класу. Один клас може мати кілька об'єктів, кожен з яких може містити різні значення даних.
Приклад: Клас Car
Припустимо, ми створили клас Car, у якому є два атрибути: name (назва автомобіля) і model (модель автомобіля). Крім того, ми визначаємо два методи: start() (запуск автомобіля) і display() (відображення інформації про автомобіль).
#include
using namespace std;
class Car {
public:
string name;
string model;
// Метод для запуску автомобіля
void start() {
cout << name << " " << model << " car is starting." << endl;
}
// Метод для відображення інформації про автомобіль
void display() {
cout << "Car Name: " << name << ", Model: " << model << endl;
}
};
Тепер ми можемо створити кілька об'єктів цього класу, і для кожного об'єкта дані будуть різними.
int main() {
// Створюємо два об'єкти класу Car
Car car1, car2;
// Встановлюємо атрибути для car1
car1.name = "Toyota";
car1.model = "Corolla";
// Встановлюємо атрибути для car2
car2.name = "Honda";
car2.model = "Civic";
// Викликаємо методи car1
car1.start();
car1.display();
// Викликаємо методи car2
car2.start();
car2.display();
return 0;
}
Пояснення:
Ми створили два об'єкти (car1 та car2) через клас Car. Атрибути об'єктів ми визначили безпосередньо в функції main():
car1.name = "Toyota";
car1.model = "Corolla";
Таким чином, ми визначили значення атрибутів name і model для об'єкта car1. Точно так само ми визначили атрибути для car2:
car2.name = "Honda";
car2.model = "Civic";
Методи start() та display() використовують атрибути кожного об'єкта для виконання своїх дій.
Toyota Corolla car is starting.
Car Name: Toyota, Model: Corolla
Honda Civic car is starting.
Car Name: Honda, Model: Civic
Ініціалізація об'єктів через конструктор
У попередньому прикладі ми вручну встановлювали значення атрибутів об'єктів. Однак можна спростити цей процес, використовуючи конструктор. Конструктор автоматично ініціалізує атрибути під час створення об'єкта. Ми повернемося до цього питання пізніше.
#include
using namespace std;
class Car {
public:
string name;
string model;
// Конструктор для ініціалізації атрибутів name та model
Car(string n, string m) {
name = n;
model = m;
}
// Метод для запуску автомобіля
void start() {
cout << name << " " << model << " car is starting." << endl;
}
// Метод для відображення інформації про автомобіль
void display() {
cout << "Car Name: " << name << ", Model: " << model << endl;
}
};
int main() {
// Створюємо об'єкти класу Car за допомогою конструктора
Car car1("Toyota", "Corolla");
Car car2("Honda", "Civic");
// Викликаємо методи car1
car1.start();
car1.display();
// Викликаємо методи car2
car2.start();
car2.display();
return 0;
}
Вивід:
Toyota Corolla car is starting.
Car Name: Toyota, Model: Corolla
Honda Civic car is starting.
Car Name: Honda, Model: Civic
Car Name: Honda, Model: Civic
Підсумок
Концепції класів і об'єктів є основою об'єктно-орієнтованого програмування (OOP). Клас дає нам шаблон, через який ми можемо створювати кілька об'єктів. Це робить код повторно використовуваним, а програмування — більш організованим та простим.
Коли ви почнете писати код за допомогою OOP, ви зрозумієте, як ці концепції допомагають у розробці програмного забезпечення, і OOP стане корисним для покращення ваших навичок програмування.
LetsLearnTogether#NirobBarman#Nirob #Barman#ObjectOrientedProgramming #OOP #SoftwareDevelopment #ProgrammingConcepts #TechInsights #CodingJourney #LearnProgramming #ProgrammingLanguages #TechCommunity #SoftwareEngineering #DeveloperLife #TechEducation #KnowledgeSharing #ProgrammingTips #CodeNewbie#ObjectOrientedProgramming #OOP #ClassesAndObjects #Programming #Cplusplus #SoftwareDevelopment #Coding #Tech #ProgrammingTutorial #LearnToCode #Developer #TechBlog #C++
Перекладено з: Introduction to Classes and Objects in Object-Oriented Programming (OOP)