каковы основы инкапсуляции в программировании какие примеры ее применения в ооп существуют

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
30 ноября 2024

Инкапсуляция - это один из принципов объектно-ориентированного программирования (ООП). Она позволяет скрыть внутреннюю реализацию класса от внешнего мира, обеспечивая доступ к данным и поведению только через определенные интерфейсы.

В основы инкапсуляции входит:

  1. Сокрытие данных (Data Hiding) - доступ к данным должен осуществляться только через геттеры и сеттеры, предоставляемые самим классом.

  2. Отделение интерфейса от реализации - класс должен предоставлять публичные методы, через который внешний мир взаимодействует с объектом. Реализация же этих методов остается скрытой и изменяемой внутри класса.

Примеры применения инкапсуляции в ООП:

  1. Датаклассы - классы, содержащие только данные и методы для их доступа и модификации:
class Person:
    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    def get_name(self):
        return self.__name

    def set_name(self, name):
        self.__name = name
  1. Сервис классы - класс, инкапсулирующие сложное поведение или логику:
class Calculator:
    def add(self, a, b):
        return a + b

    def subtract(self, a, b):
        return a - b
  1. Модификаторы доступа для ограничения доступа к членам класса:
class BankAccount:
    def __init__(self, balance):
        self.__balance = balance

    def deposit(self, amount):
        self.__balance += amount

    def withdraw(self, amount):
        if amount <= self.__balance:
            self.__balance -= amount
            return amount
        else:
            return "Not enough funds"
0 0
Пройдите курс по программированию бесплатно