Конечно! Давайте создадим класс Patient, как вы описали. Этот класс будет иметь конструктор, два приватных атрибута для возраста и роста, геттеры и сеттеры для них, а также метод info, который будет выводить информацию о пациенте.
Вот пример реализации этого класса на языке Python:
class Patient:
def __init__(self, name):
self.name = name
self.__age = 0 # Приватный атрибут возраста с заданным значением по умолчанию
self.__height = 160 # Приватный атрибут роста с заданным значением по умолчанию
@property
def age(self):
return self.__age
@age.setter
def age(self, value):
if 0 <= value <= 120:
self.__age = value
else:
print("Возраст должен быть в диапазоне от 0 до 120.")
@property
def height(self):
return self.__height
@height.setter
def height(self, value):
if 40 <= value <= 250:
self.__height = value
else:
print("Рост должен быть в диапазоне от 40 до 250 сантиметров.")
def info(self):
print(f"Имя пациента: {self.name}")
print(f"Возраст: {self.age}")
print(f"Рост: {self.height}")
# Создаем пациента с именем "Иван"
patient = Patient("Иван")
# Устанавливаем неправильный рост и выводим информацию
patient.height = 300 # Неправильное значение
patient.age = 150 # Неправильное значение
patient.info()
# Устанавливаем корректные значения и повторно выводим информацию
patient.height = 180 # Корректное значение
patient.age = 30 # Корректное значение
patient.info()
Объяснение кода:
- Конструктор
__init__: Он принимает имя пациента и устанавливает его значение вself.name. Также инициализирует приватные атрибуты__ageи__heightзначениями по умолчанию. - Геттеры и сеттеры: Использована конструкция
@propertyдля создания геттеров и сеттеров. В сеттерах проверяется, что значение находится в допустимых пределах. - Метод
info: Этот метод выводит все доступные данные о пациенте. - Создание экземпляра: В конце мы создаем экземпляр класса
Patient, устанавливаем для него неправильные значения возраста и роста, а затем корректные.
Теперь вы можете попробовать изменить код и поэкспериментировать с ним! Если возникнут вопросы, не стесняйтесь обращаться!