<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.lernado.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vaperlin+admin</id>
	<title>LERNADO: Информатика и техника - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lernado.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vaperlin+admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Vaperlin_admin"/>
	<updated>2026-04-20T04:17:40Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=31</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=31"/>
		<updated>2026-03-05T11:36:32Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Введение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в [[Реализация на языке C++|предыдущей лекции]].&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python -- &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр -- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; -- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
**   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
**   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
**   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
**   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
**   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
*   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
*   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
*   Операцию присваивания нельзя переопределить.&lt;br /&gt;
*   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
=== Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
**   Реализация методов, данных и свойств.&lt;br /&gt;
**   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=30</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=30"/>
		<updated>2026-03-05T11:32:10Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Заключение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python -- &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр -- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; -- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
**   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
**   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
**   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
**   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
**   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
*   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
*   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
*   Операцию присваивания нельзя переопределить.&lt;br /&gt;
*   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
=== Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
**   Реализация методов, данных и свойств.&lt;br /&gt;
**   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=29</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=29"/>
		<updated>2026-03-05T11:31:48Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Жизненный цикл объекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python -- &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр -- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; -- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
**   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
**   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
**   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
**   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
**   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
*   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
*   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
*   Операцию присваивания нельзя переопределить.&lt;br /&gt;
*   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
=== Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
    **   Реализация методов, данных и свойств.&lt;br /&gt;
    **   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=28</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=28"/>
		<updated>2026-03-05T11:31:21Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Жизненный цикл объекта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python -- &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр -- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; -- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
**   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
**   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
**   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
**   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
**   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
**   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
*   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
*   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
*   Операцию присваивания нельзя переопределить.&lt;br /&gt;
*   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
 === Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
    **   Реализация методов, данных и свойств.&lt;br /&gt;
    **   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=27</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=27"/>
		<updated>2026-03-05T11:30:25Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Основы реализации класса в Python */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python -- &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр -- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; -- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
    **   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
    **   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
    **   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
    **   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
    ** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
    *   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
    *   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
    *   Операцию присваивания нельзя переопределить.&lt;br /&gt;
    *   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
 === Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
    **   Реализация методов, данных и свойств.&lt;br /&gt;
    **   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=26</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=26"/>
		<updated>2026-03-05T11:30:03Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Основы реализации класса в Python */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python - &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр --- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; --- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
    **   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
    **   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
    **   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
    **   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
    ** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
    *   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
    *   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
    *   Операцию присваивания нельзя переопределить.&lt;br /&gt;
    *   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
 === Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
    **   Реализация методов, данных и свойств.&lt;br /&gt;
    **   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=25</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=25"/>
		<updated>2026-03-05T11:29:09Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Основы реализации класса в Python */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Особенность Python - &amp;lt;code&amp;gt;object&amp;lt;\code&amp;gt; в скобках.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют некоторые общие атрибуты, за которые и отвечает &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
**   Первый параметр --- &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; --- ссылка на экземпляр, с которым ведется работа.&lt;br /&gt;
**   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
    **   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
    **   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
    **   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
    **   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
    ** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
    *   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
    *   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
    *   Операцию присваивания нельзя переопределить.&lt;br /&gt;
    *   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
 === Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
    **   Реализация методов, данных и свойств.&lt;br /&gt;
    **   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=24</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=24"/>
		<updated>2026-03-05T11:26:52Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
&lt;br /&gt;
*   Цель: Реализация класса в Python, аналогичного классу в C++, реализованному в лекции ... .&lt;br /&gt;
*   Основные элементы реализации:&lt;br /&gt;
**   Данные экземпляра.&lt;br /&gt;
**   Методы экземпляра.&lt;br /&gt;
**   Свойства экземпляра.&lt;br /&gt;
*   Жизненный цикл объекта: создание, инициализация, деинициализация, удаление.&lt;br /&gt;
&lt;br /&gt;
=== Основы реализации класса в Python ===&lt;br /&gt;
&lt;br /&gt;
*   Синтаксис: &amp;lt;code&amp;gt;class MyClass(object):&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;object&amp;lt;\code&amp;gt; в скобках – особенность Python.&lt;br /&gt;
*   В C++ экземпляры классов создаются с нуля, без общих черт. Разные классы не имеют ничего общего.&lt;br /&gt;
*   В Python 3 все классы имеют общие свойства между экземплярами.&lt;br /&gt;
*   Переменные в Python создаются динамически.&lt;br /&gt;
*   В функциях, реализующих методы:&lt;br /&gt;
    **   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; --- параметр, ссылающийся на экземпляр, с которым ведется работа.&lt;br /&gt;
    **   Динамическая типизация: типы параметров не указываются.&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл объекта ===&lt;br /&gt;
&lt;br /&gt;
*   Создание объекта:&lt;br /&gt;
    **   Функция создания объекта &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; в Python реализуется при необходимости, что на практике делается редко.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;__new__&amp;lt;/code&amp;gt; принимает ссылку на класс, а не на экземпляр.&lt;br /&gt;
*   Инициализация (Конструктор):&lt;br /&gt;
    **   Определяется с помощью &amp;lt;code&amp;gt;__init__(self, ...)&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – ссылка на экземпляр.&lt;br /&gt;
    **   Устанавливает начальные значения для переменных экземпляра.&lt;br /&gt;
*   Деинициализация (Деструктор):&lt;br /&gt;
    **   Деструктор реализуется функцией &amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;.&lt;br /&gt;
    **   Деструктор может быть опущен, если он ничего не делает.&lt;br /&gt;
    ** Деструктор по умолчанию ничего не делает.&lt;br /&gt;
*   Копирование и присваивание:&lt;br /&gt;
    *   Присваивание в Python – это всегда копирование ссылки.&lt;br /&gt;
    *   &amp;lt;code&amp;gt;B = A&amp;lt;/code&amp;gt; означает, что &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – это ссылка на &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;, а не копия. &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; – две ссылки на один и тот же объект.&lt;br /&gt;
    *   Операцию присваивания нельзя переопределить.&lt;br /&gt;
    *   Нет необходимости в функции оператора присваивания.&lt;br /&gt;
&lt;br /&gt;
 === Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Состояние объекта (данные экземпляра) должно изменяться только через методы.&lt;br /&gt;
*   Вместо &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt; (как в C++) используются двойные подчеркивания (&amp;lt;code&amp;gt;__&amp;lt;/code&amp;gt;) перед именем переменной.&lt;br /&gt;
*   &amp;lt;code&amp;gt;__x&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; для закрытых переменных.&lt;br /&gt;
&lt;br /&gt;
=== Свойства (Properties) ===&lt;br /&gt;
&lt;br /&gt;
*   Простейший способ реализации свойства – использование декоратора &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Декоратор &amp;lt;code&amp;gt;@property&amp;lt;/code&amp;gt; указывает, что функция реализует свойство, а не метод.&lt;br /&gt;
*   Свойство вызывается как атрибут, а не как метод (без скобок).&lt;br /&gt;
*   Свойства часто бывают доступны только для чтения.&lt;br /&gt;
*   Попытка присвоить значение свойству только для чтения вызовет ошибку.&lt;br /&gt;
*   Для создания свойства, которое можно изменять, используется декоратор &amp;lt;code&amp;gt;@property_name.setter&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Присваивание значения свойству не гарантирует, что свойство действительно получит это значение.&lt;br /&gt;
&lt;br /&gt;
=== Методы ===&lt;br /&gt;
&lt;br /&gt;
*   Методы реализуются обычным способом, используя &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; для ссылки на экземпляр.&lt;br /&gt;
*   &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; – это экземпляр, указанный при вызове методаб ссылка на объект передается, как параметр &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   &amp;lt;code&amp;gt;a.dump()&amp;lt;/code&amp;gt; вызывает метод, реализованный функцией &amp;lt;code&amp;gt;def dump(self):&amp;lt;/code&amp;gt;, причем &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; становится &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
&lt;br /&gt;
*   Обзор основных аспектов реализации классов в Python.&lt;br /&gt;
*   Рассмотрены:&lt;br /&gt;
    **   Реализация методов, данных и свойств.&lt;br /&gt;
    **   Жизненный цикл объекта: конструктор (&amp;lt;code&amp;gt;__init__&amp;lt;/code&amp;gt;), деструктор (&amp;lt;code&amp;gt;__del__&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Дальнейшие темы: наследование, полиморфизм, мультиметоды и другие аспекты ООП в Python и C++.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=23</id>
		<title>Реализация на языке Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Python&amp;diff=23"/>
		<updated>2026-03-05T03:09:31Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: Новая страница: «&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/6aSyqLxBECi3Q8181jEJGb?muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=22</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=22"/>
		<updated>2026-03-04T23:02:10Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Инкапсуляция */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение в объектно-ориентированное программирование (ООП) ===&lt;br /&gt;
&lt;br /&gt;
*   ООП - это парадигма программирования, поэтому полная ее реализация в каком-то одном языке невозможна.&lt;br /&gt;
*   Каждый язык реализует ООП с теми или иными допущениями.&lt;br /&gt;
*   Ключевые языки: C++, Python, JavaScript.&lt;br /&gt;
*   В курсе будут рассмотрены C++ и Python.&lt;br /&gt;
&lt;br /&gt;
=== Основные понятия ООП ===&lt;br /&gt;
&lt;br /&gt;
*   &#039;&#039;&#039;Объект (экземпляр):&#039;&#039;&#039; Имеет внешнюю сторону (методы и свойства) и внутреннее состояние (данные).&lt;br /&gt;
*   &#039;&#039;&#039;Методы экземпляра:&#039;&#039;&#039; Действия, которые можно выполнять с объектом.&lt;br /&gt;
*   &#039;&#039;&#039;Свойства экземпляра:&#039;&#039;&#039; Характеристики объекта (цвет, вкус и т.д.).&lt;br /&gt;
*   Внутреннее состояние описывается &#039;&#039;&#039;данными экземпляра&#039;&#039;&#039; (переменными).&lt;br /&gt;
*   Экземпляры одного класса обязательно имеют одинаковые методы и свойства.&lt;br /&gt;
&lt;br /&gt;
=== Реализация классов в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Каждому классу можно сопоставить набор переменных, составляющих данные экземпляра.&lt;br /&gt;
*   Используется класс-ориентированный подход, при котором сначала описывается класс, а затем создаются экземпляры этого класса.&lt;br /&gt;
*   Каждый класс обычно реализуется в двух файлах:&lt;br /&gt;
**  файл &amp;lt;code&amp;gt;myclass.h&amp;lt;/code&amp;gt; содержит описание класса;&lt;br /&gt;
**  файл &amp;lt;code&amp;gt;meclass.cpp&amp;lt;/code&amp;gt; исходные тексты функций, реализующих методы экземпляра.&lt;br /&gt;
*   Создавая новый класс, мы создаем новый тип данных.&lt;br /&gt;
*   Функция и метод - это разные вещи: метод = действие, функция = способ реализации метода.&lt;br /&gt;
*   В C++ экземпляр, с которым ведется работа, задается указателем &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Функция-член класса, реализующая метод экземпляра, может иметь и другие параметры, помимо &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   При объявлении функции параметр &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; не записывается.&lt;br /&gt;
*   Жизненный цикл объекта состоит из 5 этапов: создание, инициализация, использование, деинициализация, уничтожение.&lt;br /&gt;
** Для создания объекта используется метод &amp;lt;code&amp;gt;operator new&amp;lt;/code&amp;gt;;&lt;br /&gt;
** для инициализации объекта используется метод-конструктор;&lt;br /&gt;
** для деинициализации объекта используется метод-деструктор;&lt;br /&gt;
** для уничтожения объекта используется метод &amp;lt;code&amp;gt;operator delete&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Инициализация присваивает начальные значения.&lt;br /&gt;
*   Деинициализация освобождает ресурсы, связанные с переменной (например, закрытие открытого файла).&lt;br /&gt;
*   Создание переменной в основном включает в себя выделение памяти.&lt;br /&gt;
*   Уничтожение объекта включает в себя освобождение памяти.&lt;br /&gt;
*   Создание экземпляра и инициализация - это отдельные этапы.&lt;br /&gt;
*   Создание экземпляра почти всегда выполняется стандартным способом.&lt;br /&gt;
*   Программировать операторы &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; вручную редко бывает необходимо.&lt;br /&gt;
*   Метод, который инициализирует переменную, называется конструктором.&lt;br /&gt;
*   Имя метода-конструктора всегда совпадает с именем класса.&lt;br /&gt;
*   Конструктор умолчания используется при создании переменной без указания параметров.&lt;br /&gt;
*   Конструктор копирования вызывается, когда создается копия переменной того же типа.&lt;br /&gt;
*   Деинициализация переменной выполняется функцией, называемой деструктором.&lt;br /&gt;
*   Имя деструктора начинается со знака тильды (~) за которым следует имя класса, и у него никогда не бывает параметров.&lt;br /&gt;
*   Ни конструкторы, ни деструкторы не имеют возвращаемых значений.&lt;br /&gt;
*   Деструкторы следует объявлять с ключевым словом &amp;lt;code&amp;gt;virtual&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Необходимо объявить функцию присваивания &amp;lt;code&amp;gt;operator=&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Оператор присваивания вызывается во время простого присваивания (X = Y), где X и Y имеют один и тот же тип.&lt;br /&gt;
*   Присваивание отличается от инициализации.&lt;br /&gt;
*   Четыре функции должны присутствовать в каждом классе C++ по историческим причинам:&lt;br /&gt;
** конструктор умолчания;&lt;br /&gt;
** конструктор копирования;&lt;br /&gt;
** деструктор;&lt;br /&gt;
** оператор присваивания.&lt;br /&gt;
&lt;br /&gt;
=== Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Инкапсуляция означает, что данные экземпляра/состояние объекта могут быть изменены только путем вызова его методов.&lt;br /&gt;
*   Ключевое слово &amp;lt;code&amp;gt;private&amp;lt;/code&amp;gt;: все, что следует за ним, может быть изменено только изнутри методов экземпляра.&lt;br /&gt;
*   Ключевое слово &amp;lt;code&amp;gt;public&amp;lt;/code&amp;gt;: все, что следует за ним, доступно любым способом.&lt;br /&gt;
&lt;br /&gt;
=== Свойства в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Общепринятой реализации свойств в C++ не существует.&lt;br /&gt;
*   Свойства экземпляра используются, но реализация варьируется в разных библиотеках (например, Qt имеет один способ, другие библиотеки - другой).&lt;br /&gt;
*   Самый простой способ реализовать свойство: написать функцию, которая возвращает значение свойства.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=21</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=21"/>
		<updated>2026-03-04T23:01:36Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Реализация классов в C++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение в объектно-ориентированное программирование (ООП) ===&lt;br /&gt;
&lt;br /&gt;
*   ООП - это парадигма программирования, поэтому полная ее реализация в каком-то одном языке невозможна.&lt;br /&gt;
*   Каждый язык реализует ООП с теми или иными допущениями.&lt;br /&gt;
*   Ключевые языки: C++, Python, JavaScript.&lt;br /&gt;
*   В курсе будут рассмотрены C++ и Python.&lt;br /&gt;
&lt;br /&gt;
=== Основные понятия ООП ===&lt;br /&gt;
&lt;br /&gt;
*   &#039;&#039;&#039;Объект (экземпляр):&#039;&#039;&#039; Имеет внешнюю сторону (методы и свойства) и внутреннее состояние (данные).&lt;br /&gt;
*   &#039;&#039;&#039;Методы экземпляра:&#039;&#039;&#039; Действия, которые можно выполнять с объектом.&lt;br /&gt;
*   &#039;&#039;&#039;Свойства экземпляра:&#039;&#039;&#039; Характеристики объекта (цвет, вкус и т.д.).&lt;br /&gt;
*   Внутреннее состояние описывается &#039;&#039;&#039;данными экземпляра&#039;&#039;&#039; (переменными).&lt;br /&gt;
*   Экземпляры одного класса обязательно имеют одинаковые методы и свойства.&lt;br /&gt;
&lt;br /&gt;
=== Реализация классов в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Каждому классу можно сопоставить набор переменных, составляющих данные экземпляра.&lt;br /&gt;
*   Используется класс-ориентированный подход, при котором сначала описывается класс, а затем создаются экземпляры этого класса.&lt;br /&gt;
*   Каждый класс обычно реализуется в двух файлах:&lt;br /&gt;
**  файл &amp;lt;code&amp;gt;myclass.h&amp;lt;/code&amp;gt; содержит описание класса;&lt;br /&gt;
**  файл &amp;lt;code&amp;gt;meclass.cpp&amp;lt;/code&amp;gt; исходные тексты функций, реализующих методы экземпляра.&lt;br /&gt;
*   Создавая новый класс, мы создаем новый тип данных.&lt;br /&gt;
*   Функция и метод - это разные вещи: метод = действие, функция = способ реализации метода.&lt;br /&gt;
*   В C++ экземпляр, с которым ведется работа, задается указателем &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Функция-член класса, реализующая метод экземпляра, может иметь и другие параметры, помимо &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   При объявлении функции параметр &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; не записывается.&lt;br /&gt;
*   Жизненный цикл объекта состоит из 5 этапов: создание, инициализация, использование, деинициализация, уничтожение.&lt;br /&gt;
** Для создания объекта используется метод &amp;lt;code&amp;gt;operator new&amp;lt;/code&amp;gt;;&lt;br /&gt;
** для инициализации объекта используется метод-конструктор;&lt;br /&gt;
** для деинициализации объекта используется метод-деструктор;&lt;br /&gt;
** для уничтожения объекта используется метод &amp;lt;code&amp;gt;operator delete&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Инициализация присваивает начальные значения.&lt;br /&gt;
*   Деинициализация освобождает ресурсы, связанные с переменной (например, закрытие открытого файла).&lt;br /&gt;
*   Создание переменной в основном включает в себя выделение памяти.&lt;br /&gt;
*   Уничтожение объекта включает в себя освобождение памяти.&lt;br /&gt;
*   Создание экземпляра и инициализация - это отдельные этапы.&lt;br /&gt;
*   Создание экземпляра почти всегда выполняется стандартным способом.&lt;br /&gt;
*   Программировать операторы &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; вручную редко бывает необходимо.&lt;br /&gt;
*   Метод, который инициализирует переменную, называется конструктором.&lt;br /&gt;
*   Имя метода-конструктора всегда совпадает с именем класса.&lt;br /&gt;
*   Конструктор умолчания используется при создании переменной без указания параметров.&lt;br /&gt;
*   Конструктор копирования вызывается, когда создается копия переменной того же типа.&lt;br /&gt;
*   Деинициализация переменной выполняется функцией, называемой деструктором.&lt;br /&gt;
*   Имя деструктора начинается со знака тильды (~) за которым следует имя класса, и у него никогда не бывает параметров.&lt;br /&gt;
*   Ни конструкторы, ни деструкторы не имеют возвращаемых значений.&lt;br /&gt;
*   Деструкторы следует объявлять с ключевым словом &amp;lt;code&amp;gt;virtual&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Необходимо объявить функцию присваивания &amp;lt;code&amp;gt;operator=&amp;lt;/code&amp;gt;.&lt;br /&gt;
*   Оператор присваивания вызывается во время простого присваивания (X = Y), где X и Y имеют один и тот же тип.&lt;br /&gt;
*   Присваивание отличается от инициализации.&lt;br /&gt;
*   Четыре функции должны присутствовать в каждом классе C++ по историческим причинам:&lt;br /&gt;
** конструктор умолчания;&lt;br /&gt;
** конструктор копирования;&lt;br /&gt;
** деструктор;&lt;br /&gt;
** оператор присваивания.&lt;br /&gt;
&lt;br /&gt;
=== Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Инкапсуляция означает, что данные экземпляра/состояние объекта могут быть изменены только путем вызова его методов.&lt;br /&gt;
*   Ключевое слово `private`: все, что следует за ним, может быть изменено только изнутри методов экземпляра.&lt;br /&gt;
*   Ключевое слово `public`: все, что следует за ним, доступно любым способом.&lt;br /&gt;
&lt;br /&gt;
=== Свойства в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Общепринятой реализации свойств в C++ не существует.&lt;br /&gt;
*   Свойства экземпляра используются, но реализация варьируется в разных библиотеках (например, Qt имеет один способ, другие библиотеки - другой).&lt;br /&gt;
*   Самый простой способ реализовать свойство: написать функцию, которая возвращает значение свойства.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=20</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=20"/>
		<updated>2026-03-04T22:58:54Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Краткое содержание лекции */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение в объектно-ориентированное программирование (ООП) ===&lt;br /&gt;
&lt;br /&gt;
*   ООП - это парадигма программирования, поэтому полная ее реализация в каком-то одном языке невозможна.&lt;br /&gt;
*   Каждый язык реализует ООП с теми или иными допущениями.&lt;br /&gt;
*   Ключевые языки: C++, Python, JavaScript.&lt;br /&gt;
*   В курсе будут рассмотрены C++ и Python.&lt;br /&gt;
&lt;br /&gt;
=== Основные понятия ООП ===&lt;br /&gt;
&lt;br /&gt;
*   &#039;&#039;&#039;Объект (экземпляр):&#039;&#039;&#039; Имеет внешнюю сторону (методы и свойства) и внутреннее состояние (данные).&lt;br /&gt;
*   &#039;&#039;&#039;Методы экземпляра:&#039;&#039;&#039; Действия, которые можно выполнять с объектом.&lt;br /&gt;
*   &#039;&#039;&#039;Свойства экземпляра:&#039;&#039;&#039; Характеристики объекта (цвет, вкус и т.д.).&lt;br /&gt;
*   Внутреннее состояние описывается &#039;&#039;&#039;данными экземпляра&#039;&#039;&#039; (переменными).&lt;br /&gt;
*   Экземпляры одного класса обязательно имеют одинаковые методы и свойства.&lt;br /&gt;
&lt;br /&gt;
=== Реализация классов в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Каждому классу можно сопоставить набор переменных, составляющих данные экземпляра.&lt;br /&gt;
*   Используется класс-ориентированный подход, при котором сначала описывается класс, а затем создаются экземпляры этого класса.&lt;br /&gt;
*   Каждый класс обычно реализуется в двух файлах:&lt;br /&gt;
**  файл `myclass.h` содержит описание класса;&lt;br /&gt;
**  файл `meclass.cpp` исходные тексты функций, реализующих методы экземпляра.&lt;br /&gt;
*   Создавая новый класс, мы создаем новый тип данных.&lt;br /&gt;
*   Функция и метод - это разные вещи: метод = действие, функция = способ реализации метода.&lt;br /&gt;
*   В C++ экземпляр, с которым ведется работа, задается указателем `this`.&lt;br /&gt;
*   Функция-член класса, реализующая метод экземпляра, может иметь и другие параметры, помимо `this`.&lt;br /&gt;
*   При объявлении функции параметр `this` не записывается.&lt;br /&gt;
*   Жизненный цикл объекта состоит из 5 этапов: создание, инициализация, использование, деинициализация, уничтожение.&lt;br /&gt;
** Для создания объекта используется метод `operator new`;&lt;br /&gt;
** для инициализации объекта используется метод-конструктор;&lt;br /&gt;
** для деинициализации объекта используется метод-деструктор;&lt;br /&gt;
** для уничтожения объекта используется метод `operator delete`.&lt;br /&gt;
*   Инициализация присваивает начальные значения.&lt;br /&gt;
*   Деинициализация освобождает ресурсы, связанные с переменной (например, закрытие открытого файла).&lt;br /&gt;
*   Создание переменной в основном включает в себя выделение памяти.&lt;br /&gt;
*   Уничтожение объекта включает в себя освобождение памяти.&lt;br /&gt;
*   Создание экземпляра и инициализация - это отдельные этапы.&lt;br /&gt;
*   Создание экземпляра почти всегда выполняется стандартным способом.&lt;br /&gt;
*   Программировать операторы `new` и `delete` вручную редко бывает необходимо.&lt;br /&gt;
*   Метод, который инициализирует переменную, называется конструктором.&lt;br /&gt;
*   Имя метода-конструктора всегда совпадает с именем класса.&lt;br /&gt;
*   Конструктор умолчания используется при создании переменной без указания параметров.&lt;br /&gt;
*   Конструктор копирования вызывается, когда создается копияя переменной того же типа.&lt;br /&gt;
*   Деинициализация переменной выполняется функцией, называемой деструктором.&lt;br /&gt;
*   Имя деструктора начинается со знака тильды (~) за которым следует имя класса, и у него никогда не бывает параметров.&lt;br /&gt;
*   Ни конструкторы, ни деструкторы не имеют возвращаемых значений.&lt;br /&gt;
*   Деструкторы следует объявлять с ключевым словом &amp;quot;virtual&amp;quot;.&lt;br /&gt;
*   Необходимо объявить функцию присваивания `operator=`.&lt;br /&gt;
*   Оператор присваивания вызывается во время простого присваивания (X = Y), где X и Y имеют один и тот же тип.&lt;br /&gt;
*   Присваивание отличается от инициализации.&lt;br /&gt;
*   Четыре функции должны присутствовать в каждом классе C++ по историческим причинам:&lt;br /&gt;
** конструктор умолчания;&lt;br /&gt;
** конструктор копирования;&lt;br /&gt;
** деструктор;&lt;br /&gt;
** оператор присваивания.&lt;br /&gt;
&lt;br /&gt;
=== Инкапсуляция ===&lt;br /&gt;
&lt;br /&gt;
*   Инкапсуляция означает, что данные экземпляра/состояние объекта могут быть изменены только путем вызова его методов.&lt;br /&gt;
*   Ключевое слово `private`: все, что следует за ним, может быть изменено только изнутри методов экземпляра.&lt;br /&gt;
*   Ключевое слово `public`: все, что следует за ним, доступно любым способом.&lt;br /&gt;
&lt;br /&gt;
=== Свойства в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Общепринятой реализации свойств в C++ не существует.&lt;br /&gt;
*   Свойства экземпляра используются, но реализация варьируется в разных библиотеках (например, Qt имеет один способ, другие библиотеки - другой).&lt;br /&gt;
*   Самый простой способ реализовать свойство: написать функцию, которая возвращает значение свойства.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=19</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=19"/>
		<updated>2026-03-04T22:57:30Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Краткое содержание лекции */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение в объектно-ориентированное программирование (ООП) ===&lt;br /&gt;
&lt;br /&gt;
*   ООП - это парадигма программирования, поэтому полная ее реализация в каком-то одном языке невозможна.&lt;br /&gt;
*   Каждый язык реализует ООП с теми или иными допущениями.&lt;br /&gt;
*   Ключевые языки: C++, Python, JavaScript.&lt;br /&gt;
*   В курсе будут рассмотрены C++ и Python.&lt;br /&gt;
&lt;br /&gt;
=== Основные понятия ООП ===&lt;br /&gt;
&lt;br /&gt;
*   &#039;&#039;&#039;Объект (экземпляр):&#039;&#039;&#039; Имеет внешнюю сторону (методы и свойства) и внутреннее состояние (данные).&lt;br /&gt;
*   &#039;&#039;&#039;Методы экземпляра:&#039;&#039;&#039; Действия, которые можно выполнять с объектом.&lt;br /&gt;
*   &#039;&#039;&#039;Свойства экземпляра:&#039;&#039;&#039; Характеристики объекта (цвет, вкус и т.д.).&lt;br /&gt;
*   Внутреннее состояние описывается &#039;&#039;&#039;данными экземпляра&#039;&#039;&#039; (переменными).&lt;br /&gt;
*   Экземпляры одного класса обязательно имеют одинаковые методы и свойства.&lt;br /&gt;
&lt;br /&gt;
=== Реализация классов в C++ ===&lt;br /&gt;
&lt;br /&gt;
*   Каждому классу можно сопоставить набор переменных, составляющих данные экземпляра.&lt;br /&gt;
*   Используется класс-ориентированный подход, при котором сначала описывается класс, а затем создаются экземпляры этого класса.&lt;br /&gt;
*   Каждый класс обычно реализуется в двух файлах:&lt;br /&gt;
**  файл `myclass.h` содержит описание класса;&lt;br /&gt;
**  файл `meclass.cpp` исходные тексты функций, реализующих методы экземпляра.&lt;br /&gt;
*   Создавая новый класс, мы создаем новый тип данных.&lt;br /&gt;
*   Функция и метод - это разные вещи: метод = действие, функция = способ реализации метода.&lt;br /&gt;
*   В C++ экземпляр, с которым ведется работа, задается указателем `this`.&lt;br /&gt;
*   Функция-член класса, реализующая метод экземпляра, может иметь и другие параметры, помимо `this`.&lt;br /&gt;
*   При объявлении функции параметр `this` не записывается.&lt;br /&gt;
*   Жизненный цикл объекта состоит из 5 этапов: создание, инициализация, использование, деинициализация, уничтожение.&lt;br /&gt;
** Для создания объекта используется метод `operator new`;&lt;br /&gt;
** для инициализации объекта используется метод-конструктор;&lt;br /&gt;
** для деинициализации объекта используется метод-деструктор;&lt;br /&gt;
** для уничтожения объекта используется метод `operator delete`.&lt;br /&gt;
*   Инициализация присваивает начальные значения.&lt;br /&gt;
*   Деинициализация освобождает ресурсы, связанные с переменной (например, закрытие открытого файла).&lt;br /&gt;
*   Создание переменной в основном включает в себя выделение памяти.&lt;br /&gt;
*   Уничтожение объекта включает в себя освобождение памяти.&lt;br /&gt;
*   Создание экземпляра и инициализация - это отдельные этапы.&lt;br /&gt;
*   Создание экземпляра почти всегда выполняется стандартным способом.&lt;br /&gt;
*   Программировать операторы `new` и `delete` вручную редко бывает необходимо.&lt;br /&gt;
*   Метод, который инициализирует переменную, называется конструктором.&lt;br /&gt;
*   Имя метода-конструктора всегда совпадает с именем класса.&lt;br /&gt;
*   Конструктор умолчания используется при создании переменной без указания параметров.&lt;br /&gt;
*   Конструктор копирования вызывается, когда создается копияя переменной того же типа.&lt;br /&gt;
*   Деинициализация переменной выполняется функцией, называемой деструктором.&lt;br /&gt;
*   Имя деструктора начинается со знака тильды (~) за которым следует имя класса, и у него никогда не бывает параметров.&lt;br /&gt;
*   Ни конструкторы, ни деструкторы не имеют возвращаемых значений.&lt;br /&gt;
*   Деструкторы следует объявлять с ключевым словом &amp;quot;virtual&amp;quot;.&lt;br /&gt;
*   Необходимо объявить функцию присваивания `operator=`.&lt;br /&gt;
*   Оператор присваивания вызывается во время простого присваивания (X = Y), где X и Y имеют один и тот же тип.&lt;br /&gt;
*   Присваивание отличается от инициализации.&lt;br /&gt;
*   Четыре функции должны присутствовать в каждом классе C++ по историческим причинам:&lt;br /&gt;
** конструктор умолчания;&lt;br /&gt;
** конструктор копирования;&lt;br /&gt;
** деструктор;&lt;br /&gt;
** оператор присваивания.&lt;br /&gt;
&lt;br /&gt;
**Инкапсуляция**&lt;br /&gt;
&lt;br /&gt;
*   Инкапсуляция означает, что данные экземпляра/состояние объекта могут быть изменены только путем вызова его методов.&lt;br /&gt;
*   Ключевое слово `private`: все, что следует за ним, может быть изменено только изнутри методов экземпляра.&lt;br /&gt;
*   Ключевое слово `public`: все, что следует за ним, доступно любым способом.&lt;br /&gt;
&lt;br /&gt;
**Свойства в C++**&lt;br /&gt;
&lt;br /&gt;
*   Общепринятой реализации свойств в C++ не существует.&lt;br /&gt;
*   Свойства экземпляра используются, но реализация варьируется в разных библиотеках (например, Qt имеет один способ, другие библиотеки - другой).&lt;br /&gt;
*   Самый простой способ реализовать свойство: написать функцию, которая возвращает значение свойства.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=18</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=18"/>
		<updated>2026-03-04T22:55:59Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Краткое содержание лекции */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
=== Введение в объектно-ориентированное программирование (ООП) ===&lt;br /&gt;
&lt;br /&gt;
*   ООП - это парадигма программирования, поэтому полная ее реализация в каком-то одном языке невозможна.&lt;br /&gt;
*   Каждый язык реализует ООП с теми или иными допущениями.&lt;br /&gt;
*   Ключевые языки: C++, Python, JavaScript.&lt;br /&gt;
*   В курсе будут рассмотрены C++ и Python.&lt;br /&gt;
&lt;br /&gt;
**Основные понятия ООП**&lt;br /&gt;
&lt;br /&gt;
*   **Объект (экземпляр):** Имеет внешнюю сторону (методы и свойства) и внутреннее состояние (данные).&lt;br /&gt;
*   **Методы экземпляра:** Действия, которые можно выполнять с объектом.&lt;br /&gt;
*   **Свойства экземпляра:** Характеристики объекта (цвет, вкус и т.д.).&lt;br /&gt;
*   Внутреннее состояние описывается **данными экземпляра** (переменными).&lt;br /&gt;
*   Экземпляры одного класса обязательно имеют одинаковые методы и свойства.&lt;br /&gt;
&lt;br /&gt;
**Реализация классов в C++**&lt;br /&gt;
&lt;br /&gt;
*   Каждому классу можно сопоставить набор переменных, составляющих данные экземпляра.&lt;br /&gt;
*   Используется класс-ориентированный подход, при котором сначала описывается класс, а затем создаются экземпляры этого класса.&lt;br /&gt;
*   Каждый класс обычно реализуется в двух файлах:&lt;br /&gt;
**  файл `myclass.h` содержит описание класса;&lt;br /&gt;
**  файл `meclass.cpp` исходные тексты функций, реализующих методы экземпляра.&lt;br /&gt;
*   Создавая новый класс, мы создаем новый тип данных.&lt;br /&gt;
*   Функция и метод - это разные вещи: метод = действие, функция = способ реализации метода.&lt;br /&gt;
*   В C++ экземпляр, с которым ведется работа, задается указателем `this`.&lt;br /&gt;
*   Функция-член класса, реализующая метод экземпляра, может иметь и другие параметры, помимо `this`.&lt;br /&gt;
*   При объявлении функции параметр `this` не записывается.&lt;br /&gt;
*   Жизненный цикл объекта состоит из 5 этапов: создание, инициализация, использование, деинициализация, уничтожение.&lt;br /&gt;
** Для создания объекта используется метод `operator new`;&lt;br /&gt;
** для инициализации объекта используется метод-конструктор;&lt;br /&gt;
** для деинициализации объекта используется метод-деструктор;&lt;br /&gt;
** для уничтожения объекта используется метод `operator delete`.&lt;br /&gt;
*   Инициализация присваивает начальные значения.&lt;br /&gt;
*   Деинициализация освобождает ресурсы, связанные с переменной (например, закрытие открытого файла).&lt;br /&gt;
*   Создание переменной в основном включает в себя выделение памяти.&lt;br /&gt;
*   Уничтожение объекта включает в себя освобождение памяти.&lt;br /&gt;
*   Создание экземпляра и инициализация - это отдельные этапы.&lt;br /&gt;
*   Создание экземпляра почти всегда выполняется стандартным способом.&lt;br /&gt;
*   Программировать операторы `new` и `delete` вручную редко бывает необходимо.&lt;br /&gt;
*   Метод, который инициализирует переменную, называется конструктором.&lt;br /&gt;
*   Имя метода-конструктора всегда совпадает с именем класса.&lt;br /&gt;
*   Конструктор умолчания используется при создании переменной без указания параметров.&lt;br /&gt;
*   Конструктор копирования вызывается, когда создается копияя переменной того же типа.&lt;br /&gt;
*   Деинициализация переменной выполняется функцией, называемой деструктором.&lt;br /&gt;
*   Имя деструктора начинается со знака тильды (~) за которым следует имя класса, и у него никогда не бывает параметров.&lt;br /&gt;
*   Ни конструкторы, ни деструкторы не имеют возвращаемых значений.&lt;br /&gt;
*   Деструкторы следует объявлять с ключевым словом &amp;quot;virtual&amp;quot;.&lt;br /&gt;
*   Необходимо объявить функцию присваивания `operator=`.&lt;br /&gt;
*   Оператор присваивания вызывается во время простого присваивания (X = Y), где X и Y имеют один и тот же тип.&lt;br /&gt;
*   Присваивание отличается от инициализации.&lt;br /&gt;
*   Четыре функции должны присутствовать в каждом классе C++ по историческим причинам:&lt;br /&gt;
** конструктор умолчания;&lt;br /&gt;
** конструктор копирования;&lt;br /&gt;
** деструктор;&lt;br /&gt;
** оператор присваивания.&lt;br /&gt;
&lt;br /&gt;
**Инкапсуляция**&lt;br /&gt;
&lt;br /&gt;
*   Инкапсуляция означает, что данные экземпляра/состояние объекта могут быть изменены только путем вызова его методов.&lt;br /&gt;
*   Ключевое слово `private`: все, что следует за ним, может быть изменено только изнутри методов экземпляра.&lt;br /&gt;
*   Ключевое слово `public`: все, что следует за ним, доступно любым способом.&lt;br /&gt;
&lt;br /&gt;
**Свойства в C++**&lt;br /&gt;
&lt;br /&gt;
*   Общепринятой реализации свойств в C++ не существует.&lt;br /&gt;
*   Свойства экземпляра используются, но реализация варьируется в разных библиотеках (например, Qt имеет один способ, другие библиотеки - другой).&lt;br /&gt;
*   Самый простой способ реализовать свойство: написать функцию, которая возвращает значение свойства.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=17</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=17"/>
		<updated>2026-03-04T22:54:54Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекции ==&lt;br /&gt;
&lt;br /&gt;
**Введение в объектно-ориентированное программирование (ООП)**&lt;br /&gt;
&lt;br /&gt;
*   ООП - это парадигма программирования, поэтому полная ее реализация в каком-то одном языке невозможна.&lt;br /&gt;
*   Каждый язык реализует ООП с теми или иными допущениями.&lt;br /&gt;
*   Ключевые языки: C++, Python, JavaScript.&lt;br /&gt;
*   В курсе будут рассмотрены C++ и Python.&lt;br /&gt;
&lt;br /&gt;
**Основные понятия ООП**&lt;br /&gt;
&lt;br /&gt;
*   **Объект (экземпляр):** Имеет внешнюю сторону (методы и свойства) и внутреннее состояние (данные).&lt;br /&gt;
*   **Методы экземпляра:** Действия, которые можно выполнять с объектом.&lt;br /&gt;
*   **Свойства экземпляра:** Характеристики объекта (цвет, вкус и т.д.).&lt;br /&gt;
*   Внутреннее состояние описывается **данными экземпляра** (переменными).&lt;br /&gt;
*   Экземпляры одного класса обязательно имеют одинаковые методы и свойства.&lt;br /&gt;
&lt;br /&gt;
**Реализация классов в C++**&lt;br /&gt;
&lt;br /&gt;
*   Каждому классу можно сопоставить набор переменных, составляющих данные экземпляра.&lt;br /&gt;
*   Используется класс-ориентированный подход, при котором сначала описывается класс, а затем создаются экземпляры этого класса.&lt;br /&gt;
*   Каждый класс обычно реализуется в двух файлах:&lt;br /&gt;
**  файл `myclass.h` содержит описание класса;&lt;br /&gt;
**  файл `meclass.cpp` исходные тексты функций, реализующих методы экземпляра.&lt;br /&gt;
*   Создавая новый класс, мы создаем новый тип данных.&lt;br /&gt;
*   Функция и метод - это разные вещи: метод = действие, функция = способ реализации метода.&lt;br /&gt;
*   В C++ экземпляр, с которым ведется работа, задается указателем `this`.&lt;br /&gt;
*   Функция-член класса, реализующая метод экземпляра, может иметь и другие параметры, помимо `this`.&lt;br /&gt;
*   При объявлении функции параметр `this` не записывается.&lt;br /&gt;
*   Жизненный цикл объекта состоит из 5 этапов: создание, инициализация, использование, деинициализация, уничтожение.&lt;br /&gt;
** Для создания объекта используется метод `operator new`;&lt;br /&gt;
** для инициализации объекта используется метод-конструктор;&lt;br /&gt;
** для деинициализации объекта используется метод-деструктор;&lt;br /&gt;
** для уничтожения объекта используется метод `operator delete`.&lt;br /&gt;
*   Инициализация присваивает начальные значения.&lt;br /&gt;
*   Деинициализация освобождает ресурсы, связанные с переменной (например, закрытие открытого файла).&lt;br /&gt;
*   Создание переменной в основном включает в себя выделение памяти.&lt;br /&gt;
*   Уничтожение объекта включает в себя освобождение памяти.&lt;br /&gt;
*   Создание экземпляра и инициализация - это отдельные этапы.&lt;br /&gt;
*   Создание экземпляра почти всегда выполняется стандартным способом.&lt;br /&gt;
*   Программировать операторы `new` и `delete` вручную редко бывает необходимо.&lt;br /&gt;
*   Метод, который инициализирует переменную, называется конструктором.&lt;br /&gt;
*   Имя метода-конструктора всегда совпадает с именем класса.&lt;br /&gt;
*   Конструктор умолчания используется при создании переменной без указания параметров.&lt;br /&gt;
*   Конструктор копирования вызывается, когда создается копияя переменной того же типа.&lt;br /&gt;
*   Деинициализация переменной выполняется функцией, называемой деструктором.&lt;br /&gt;
*   Имя деструктора начинается со знака тильды (~) за которым следует имя класса, и у него никогда не бывает параметров.&lt;br /&gt;
*   Ни конструкторы, ни деструкторы не имеют возвращаемых значений.&lt;br /&gt;
*   Деструкторы следует объявлять с ключевым словом &amp;quot;virtual&amp;quot;.&lt;br /&gt;
*   Необходимо объявить функцию присваивания `operator=`.&lt;br /&gt;
*   Оператор присваивания вызывается во время простого присваивания (X = Y), где X и Y имеют один и тот же тип.&lt;br /&gt;
*   Присваивание отличается от инициализации.&lt;br /&gt;
*   Четыре функции должны присутствовать в каждом классе C++ по историческим причинам:&lt;br /&gt;
** конструктор умолчания;&lt;br /&gt;
** конструктор копирования;&lt;br /&gt;
** деструктор;&lt;br /&gt;
** оператор присваивания.&lt;br /&gt;
&lt;br /&gt;
**Инкапсуляция**&lt;br /&gt;
&lt;br /&gt;
*   Инкапсуляция означает, что данные экземпляра/состояние объекта могут быть изменены только путем вызова его методов.&lt;br /&gt;
*   Ключевое слово `private`: все, что следует за ним, может быть изменено только изнутри методов экземпляра.&lt;br /&gt;
*   Ключевое слово `public`: все, что следует за ним, доступно любым способом.&lt;br /&gt;
&lt;br /&gt;
**Свойства в C++**&lt;br /&gt;
&lt;br /&gt;
*   Общепринятой реализации свойств в C++ не существует.&lt;br /&gt;
*   Свойства экземпляра используются, но реализация варьируется в разных библиотеках (например, Qt имеет один способ, другие библиотеки - другой).&lt;br /&gt;
*   Самый простой способ реализовать свойство: написать функцию, которая возвращает значение свойства.&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=16</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=16"/>
		<updated>2026-03-04T22:20:49Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;600&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=15</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=15"/>
		<updated>2026-03-04T22:19:59Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;amp;amp;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;450&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=14</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=14"/>
		<updated>2026-03-04T22:18:32Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1;title=0&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;450&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=13</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=13"/>
		<updated>2026-03-04T22:16:40Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;quot; width=&amp;quot;800&amp;quot; height=&amp;quot;450&amp;quot; allowfullscreen=&amp;quot;true&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=12</id>
		<title>Реализация на языке C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_C%2B%2B&amp;diff=12"/>
		<updated>2026-03-04T22:14:00Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: Новая страница: «&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;quot; /&amp;gt;»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;iframe key=&amp;quot;lernbase&amp;quot; level=&amp;quot;video&amp;quot; path=&amp;quot;videos/embed/hfJRLJ7u7n5fHoXqgXAJ5a?subtitle=ru&amp;amp;amp;muted=1&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=11</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=11"/>
		<updated>2026-03-04T21:47:46Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Объектно-ориентированное программирование ==&lt;br /&gt;
&lt;br /&gt;
* Объектная модель.&lt;br /&gt;
** [[Реализация на языке C++]].&lt;br /&gt;
** [[Реализация на языке Python]].&lt;br /&gt;
&lt;br /&gt;
== Базы данных ==&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=10</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=10"/>
		<updated>2026-03-04T21:47:32Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Объектно-ориентированное программирование ==&lt;br /&gt;
&lt;br /&gt;
* Объектная модель.&lt;br /&gt;
** [[Реализация на языке C++]].&lt;br /&gt;
** Реализация на языке Python.&lt;br /&gt;
&lt;br /&gt;
== Базы данных ==&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=9</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=9"/>
		<updated>2026-03-04T21:47:17Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: /* Объектно-ориентированное программирование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Объектно-ориентированное программирование ==&lt;br /&gt;
&lt;br /&gt;
* Объектная модель.&lt;br /&gt;
** Реализация на языке C++.&lt;br /&gt;
** Реализация на языке Python.&lt;br /&gt;
&lt;br /&gt;
== Базы данных ==&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=8</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=8"/>
		<updated>2026-03-04T21:46:45Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Объектно-ориентированное программирование ==&lt;br /&gt;
&lt;br /&gt;
* Объектная модель. Реализация на языке C++.&lt;br /&gt;
* Объектная модель. Реализация на языке Python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Базы данных ==&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=7</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=7"/>
		<updated>2026-03-04T21:40:20Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Базы данных ==&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=6</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=6"/>
		<updated>2026-03-04T21:39:23Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Базы данных&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=5</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=5"/>
		<updated>2026-03-04T21:39:12Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Базы данных&lt;br /&gt;
***********&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=4</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=4"/>
		<updated>2026-03-04T21:38:41Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Базы данных&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3"/>
		<updated>2026-03-04T21:38:22Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Базы данных&lt;br /&gt;
-----------&lt;br /&gt;
&lt;br /&gt;
* Подключение&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=2</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="https://wiki.lernado.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=2"/>
		<updated>2026-03-04T21:37:46Z</updated>

		<summary type="html">&lt;p&gt;Vaperlin admin: Содержимое страницы заменено на «Базы данных ===========»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Базы данных&lt;br /&gt;
===========&lt;/div&gt;</summary>
		<author><name>Vaperlin admin</name></author>
	</entry>
</feed>