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

Объект внутри объекта в Dart

Поле класса может иметь тип другого класса. Тогда у объекта хранится не строка или число, а ссылка на вложенный экземпляр:

class City { String name; City(this.name); } class Post { String title; String author; City city; Post(this.title, this.author, this.city); }

Создадим объекты и выведем результат:

var city = City("Paris"); var post = Post("note", "smit", city); print(post.city.name);

К вложенному объекту обращаются цепочкой полей после точки. Запишем город прямо в конструкторе и выведем заголовок и название города:

class City { String name; City(this.name); } class Post { String title; City city; Post(this.title, this.city); }

Создадим объект и выведем его:

var post = Post("note", City("Paris")); print(post.title); print(post.city.name);

Один и тот же объект City можно передать нескольким записям - у каждой в поле будет ссылка на тот же город:

class City { String name; City(this.name); } class Post { String title; City city; Post(this.title, this.city); }

Создадим объекты и выведем результат:

var paris = City("Paris"); var p1 = Post("john", paris); var p2 = Post("eric", paris); print(p1.city.name); print(p2.city.name);

Сделайте класс Department с названием отдела. Сделайте класс Employee с именем, должностью и объектом Department.

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

Сделайте класс Address с городом и улицей. Сделайте класс Client с именем и полем Address. Выведите улицу клиента одним выражением.

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