Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpIhPrP 37 of 174 menu
◀ ▶

Приватные свойства при наследовании в ООП в Python

Приватные свойства не наследуются. Но потомок может манипулировать ими через публичные методы родителя. Давайте посмотрим на практике. Пусть у нас есть следующий класс-родитель с приватным свойством и его геттером и сеттером:

class User: def __init__(self): self.__name = None def set_name(self, name): self.__name = name def get_name(self): return self.__name

Пусть от родителя наследует следующий потомок:

class Student(User): pass

Создадим объект потомка:

student = Student()

Воспользуемся методом родителя, чтобы записать его приватное свойство:

student.set_name('john')

Воспользуемся методом родителя, чтобы прочитать его приватное свойство:

name = student.get_name() print(name)

Дан следующий класс-родитель:

class User: def __init__(self): self.__name = None self.__surn = None def set_name(self, name): self.__name = name def get_name(self): return self.__name def set_surn(self, surn): self.__surn = surn def get_surn(self): return self.__surn

Сделайте класс Employee, который будет наследовать от этого родителя.

Создайте объект класса Employee и вызовите унаследованные сеттеры и геттеры.

В классе Employee сделайте следующий метод:

def get_full(self): return self.__name + ' ' + self.__surn

Убедитесь, что код метода приведет к ошибке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить