C++

printf("Hello, World!");

PHP

int main()

if

CREATE TABLE

else

console.log

UPDATE

function

1

0

1

0

1

dev

г. Тверь

Меню

Классы в С++

Объектно-ориентированное программирование

Общие сведения

Объектно-ориентированное программирование (ООП) — это подход, при котором программа рассматривается как набор объектов, взаимодействующих друг с другом. У каждого есть свойства и поведение. На начальном этапе ООП – это тёмный лес, в котором многое непонятно и слишком усложнено. На самом деле всё вовсе не так.

В ООП существует три основных принципа построения классов:

  • Инкапсуляция — это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя.
  • Наследование — это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку.
  • Полиморфизм — свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

Классы в С++

Кроме использования встроенных типов, таких как int, double и т.д., мы можем определять свои собственные типы или классы. Классы и объекты в С++ являются основными концепциями объектно-ориентированного программирования — ООП. Класс представляет составной тип, который может использовать другие типы.

Можно еще провести следующую аналогию. У нас у всех есть некоторое представление о человеке, у которого есть имя, возраст, какие-то другие характеристики. То есть некоторый шаблон - этот шаблон можно назвать классом. Конкретное воплощение этого шаблона может отличаться, например, одни люди имеют одно имя, другие - другое имя. И реально существующий человек будет представлять объект или экземпляр этого класса.

Для определения класса применяется ключевое слово class, после которого идет имя класса:


class имя_класса
{
    // компоненты класса
};

А теперь определим простейший класс Animals. Как правило, названия классов начинаются с большой буквы. Допустим, данный класс представляет животное. И мы можем определить его переменные или константы:


class Animals
{
 
};
int main()
{
    Animals cat;
}

Все свойства и методы классов имеют права доступа. По умолчанию все содержимое класса является доступным для чтения и записи только для него самого. Для того чтобы разрешить доступ к данным класса извне, используют модификатор доступа public. Все функции и переменные, которые находятся после модификатора public, становятся доступными из всех частей программы.

Закрытые данные класса размещаются после модификатора доступа private. Если отсутствует модификатор public, то все функции и переменные по умолчанию являются закрытыми.

Обычно приватными делают все свойства класса, а публичными — его методы. Все действия с закрытыми свойствами класса реализуются через его методы.

Давайте добавим в наш класс Animals некоторое состояние и поведение:


class Animals 
{
public:
    string name;
    int age;
    void print() 
    {
        cout << "Name: " << name << endl << "Age: " << age;
    }
};
int main()
{
    Animals cat;
    // устанавливаем значения полей класса
    cat.name = "Murka";
    cat.age = 12;
    // вызываем функцию класса
    cat.print();
}