Показать сообщение отдельно
  #1 (permalink)  
Старый 06.04.2021, 18:08
Интересующийся
Отправить личное сообщение для worldsering Посмотреть профиль Найти все сообщения от worldsering
 
Регистрация: 01.04.2021
Сообщений: 11

Зависимость классов между собой
Ребят, нужно сделать зависимость классов между собой .... как назвать это правильно я хз, объясню на пальцах:

class Film {
constructor(name, mainArtist, song){
}
};
class MainArtist{
constructor(name, film, song){
}
};
class Song{
constructor(name, mainArtist, film){
}
};


Не суть в создании классов, по быстрому накидал, что в голову пришло. Вот у меня есть класс фильм, класс главный актёр и класс песня.
Допустим я их экспортировал в другой файл и:

let Titanik = new Film("Titanik", Dikaprio, MyHeartWillGoOn);
let Dikaprio = new MainArtist("Dikaprio", Titanik, MyHeartWillGoOn);
let MyHeartWillGoOn = new Song("MyHeartWillGoOn ", Dikaprio, Titanik);

Как вы уже догадались , мне необходимо что бы у этих классов была зависимость. Что бы в Титаник, я добавил класс Дикаприо и МайХертВиллГоОн, и мой класс титаник, автомотически добавился в конструктор в this.film к остальным двум классам .... ну и так в общем то со всеми свойствами.
Заранее скажу, что делать вот так не надо:
et Titanik = new Film("Titanik");
let Dikaprio = new MainArtist("Dikaprio");
let MyHeartWillGoOn = new Song("MyHeartWillGoOn ");
Titanik.mainArtist = Dikaprio;
Titanik.song = MyHeartWillGoOn;
Dikaprio.film = Titanik; 
// и тд в этом духе...

Вот как вижу это я , но не знаю пока как реализовать ( зеленый совсем) :

let Titanik = new Film("Titanik");

let Dikaprio = new MainArtist("Dikaprio", Titanik);

let MyHeartWillGoOn = new Song("MyHeartWillGoOn ", Dikaprio, Titanik);

// и получается, что в Titanik и Dikaprio недостающие свойства сгенерируются автоматом

Классы представлены как разные модуль - т.е. в разных файлах ...
ЗАРАНЕЕ ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ !
Ответить с цитированием