Инкапсуляция наследование полиморфизм, ООП с примерами (часть 2) / Хабр
Примеры будут приведены на языке C , однако, они очень простые, да и сама суть не зависит от языка, поэтому будет полезна всем начинающим изучать ООП программистам. Двойное подчеркивание в начале имени атрибута даёт большую защиту: атрибут становится недоступным по этому имени. Так как производные классы имеют общие поля и функции например, поле «год рождения» , то эти члены класса могут быть описаны в базовом классе. Примеров нет. В этом случае компилятор автоматически определяет, какой тип арифметики требуется.
Одиночное подчеркивание в начале имени атрибута говорит о том, что переменная или метод не предназначен для использования вне методов класса, однако атрибут доступен по этому имени.
Двойное подчеркивание в начале имени атрибута даёт большую защиту: атрибут становится недоступным по этому имени. Наследование подразумевает то, что дочерний класс содержит все атрибуты родительского класса, при этом некоторые из них могут быть переопределены или добавлены в дочернем. Например, мы можем создать свой класс, похожий на словарь :.
Класс Mydict ведёт себя точно так же, как и словарь, за исключением того, что метод get по умолчанию возвращает не None, а 0.
Полиморфизм - разное поведение одного и того же метода в разных классах. Например, мы можем сложить два числа, и можем сложить две строки.
В программировании, такой дом — это ваша программа, а комнаты — это объекты, созданные на основе "чертежей" или классов. В этом примере, class Room — это чертеж для создания комнат с разными названиями и площадями. Каждая комната kitchen , bathroom создается как объект на основе класса Room , и мы можем вызвать метод describe , чтобы получить информацию о каждой комнате. Этот пример показывает, как классы помогают организовать код и создавать объекты с определенными свойствами name , area и поведением describe.
Это упрощает управление данными и поведением в вашей программе, делая ее более структурированной и понятной. Классы в программировании действуют как основа для создания объектов.
Они предоставляют структуру, в которой хранятся данные свойства и действия методы , которые могут выполнять объекты. Это как каркас здания, определяющий, какие комнаты и функции будут внутри.
Каждый раз, когда мы создаем новый объект на основе класса, нам нужен способ инициализировать его свойства с начальными значениями. Здесь на помощь приходит конструктор класса , специальный метод, который автоматически вызывается при создании объекта.
Это как при въезде в новый дом, когда ты расставляешь мебель и вещи, чтобы сделать его удобным для жизни.
Чтобы сделать данные в классе безопасными, используются модификаторы доступа : private , protected , и public. Они позволяют контролировать, откуда можно получить доступ к информации или изменить ее.
Это как замки на дверях в твоем доме, которые позволяют тебе решать, кто может войти в каждую комнату. ООП строится на трех китах: инкапсуляция , наследование , и полиморфизм.
Эти принципы помогают сделать код более гибким, масштабируемым и легко поддерживаемым. Инкапсуляция — это ограничение доступа к данным объекта и предоставление методов для работы с этими данными.
Это как если бы ты хранил все свои ценные вещи в сейфе и давал ключ только тем, кому доверяешь.