Философия объектно-ориентированного программирования вращается вокруг концепции классов и объектов.

Подход объектно-ориентированного программирования рассматривает данные как наиболее важный элемент. Класс помогает связать связанные данные и функции вместе. Он также ограничивает доступ к конфиденциальным данным и содержащимся в них функциям.

Начни Учить Full-Stack JavaScript СЕЙЧАС!

В этом руководстве вы узнаете о классах и объектах с помощью простых примеров кода C ++.

Что такое класс

Если вам нужно создать новый тип данных, вам нужно написать для него класс. Этот класс служит планом или шаблоном для вашего нового типа данных.

Класс содержит элементы данных и функции-члены, которые работают с этими элементами данных. Таким образом, класс группирует данные и функции, связанные друг с другом. На техническом языке мы называем это инкапсуляцией данных.

Классы поддерживают другую объектно-ориентированную философию — абстракцию данных. Класс настаивает на предоставлении извне только важной информации. Он использует спецификаторы доступа, такие как public, private и protected, чтобы наложить ограничения.

Члены private недоступны вне класса. Члены public доступны вне класса. Члены «protected» доступны вне класса, но только внутри унаследованных классов.

Предположим, вам нужно создать класс для хранения данных о студентах, таких как идентификатор студента, имя студента и название курса. У вас должны быть две функции-члены, чтобы устанавливать и отображать данные. Вам нужно определить класс, как показано ниже -

class student {

  private:

  int id;
  string studentName;
  string courseName;

  public:

    //Function to set data
    void setStudentData(int idNo, string fName, string course) {
      id = idNo;
      studentName = fName;
      courseName = course;
    }

  // Function to display data
  void displayStudentData() {
    cout << "------------------" << "\n";
    cout << "Student ID: " << id << "\n";
    cout << "Student Name: " << studentName << "\n";
    cout << "------------------" << "\n";
  }
};

В приведенном выше примере у нас есть класс student.

У класса есть данные-члены - id, studentName и courseName. Он имеет функции-члены setStudentData() и displayStudentData().

Вы создали план для своего нового типа данных. В следующем разделе вы узнаете об объектах.

Что такое объект

Вы можете получить доступ к данным и функциям вашего класса после создания объекта класса.

Объекты — это не что иное, как экземпляры класса.

Когда вы пишете класс, вы создаете шаблон для своего нового типа данных. Система выделяет память для вашего типа данных только тогда, когда вы создаете хотя бы объект своего класса.

Допустим, вам нужно вставить и отобразить данные о двух студентах. Таким образом, вам нужно создать два объекта «student1» и «student2» класса «student», как показано ниже:

student student1, student2;

Теперь вы сможете получить доступ к членам класса для установки и отображения данных, как показано ниже.

//Setting data in objects
student1.setStudentData(1, "Steve Parkar", "Networking");
student2.setStudentData(2, "Mark Key", "Web Development");

//Displaying data
student1.displayStudentData();
student2.displayStudentData();

Пример кода на C ++

Вы уже написали определение класса. Вы узнали, как создавать и использовать объекты. Теперь напишем полную программу для лучшего понимания.

#include <iostream>

#include <string>

using namespace std;

class student {

  private:

   int id;   
  string studentName;
  string courseName;

  public:

    //Function to set data
    void setStudentData(int idNo, string fName, string course) {
      id = idNo;
      studentName = fName;
      courseName = course;
    }

  // Function to display data
  void displayStudentData() {
    cout << "------------------" << "\n";
    cout << "Student ID: " << id << "\n";
    cout << "Student Name: " << studentName << "\n";
    cout << "------------------" << "\n";
  }
};

int main() {

  student student1, student2; // Creating objects

  //Setting data in objects
  student1.setStudentData(1, "Steve Parkar", "Networking");
  student2.setStudentData(2, "Mark Key", "Web Development");

  //Displaying data
  student1.displayStudentData();
  student2.displayStudentData();

  return 0;
}

Вышеупомянутая программа определяет класс «студент». Он создает два объекта, «student1» и «student2» класса, для установки и отображения данных. Программа производит следующий вывод:

------------------
Student ID:1
Student Name: Steve Parker
------------------
------------------
Student ID:2
Student Name: Mark Key
------------------

Заключение

Подводя итог тому, что вы узнали до сих пор -

  • Класс — это не что иное, как шаблон или план для типа данных.
  • Концепция класса помогает в реализации инкапсуляции данных и абстракции данных.
  • Объекты класса — это не что иное, как экземпляры класса
  • Вы можете получить доступ к данным и функциям класса через его объекты.