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();
}