Объекты внутри классов в ООП в Python
В классах можно использовать объекты других классов. Давайте посмотрим на примере. Пусть мы хотим сделать юзера с именем и фамилией, а также городом, в котором он живет. Пусть у нас есть следующий класс для города:
class City:
def __init__(self, name):
self.name = name
Будем имя, фамилию и город передавать параметрами конструктора:
class User:
def __init__(self, name, surn, city):
self.name = name
self.surn = surn
self.city = city
При этом имя и фамилия будут строками, а вот город - объектом своего отдельного класса:
city = City('luis')
user = User('john', 'smit', city)
Давайте выведем имя нашего юзера:
print(user.name)
А теперь выведем название города для нашего юзера:
print(user.city.name)
Дан следующий класс:
class Employee:
def __init__(self, name, position, department):
self.name = name
self.position = position
self.department = department
Сделайте так, чтобы во второй и третий параметры передавались объекты отдельных классов.
Создайте объект с работником с помощью класса из предыдущей задачи.
Выведите в консоль имя, должность и отдел для созданного работника.