Вступ до класів і об’єктів в об’єктно-орієнтованому програмуванні (OOP)

Об'єктно-орієнтоване програмування (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)

Leave a Reply

Your email address will not be published. Required fields are marked *