169 похожих чатов

Есть кто шарить js? Как можно с помощью функции сохранять все

созданные экземпляры класса
Функция принимает этот класс

Сначала вызывается функция потом создаются экземпляры

А функция сохраняет статистические свойство класса

3 ответов

18 просмотров

Только если конструктор переопределять, если я правильно понял

Madi- Автор вопроса
Руслан
та просто фактори какая-то ему нужна

В светлом космическом будущем люди колонизировали Луну и имеют возможность создавать работающие маршруты отправки посылок как на Землю, так и на Луну. Это выражено в виде двух классов EarthRoute и MoonRoute: class EarthRoute { static vault = [] transfer(parcel) { parcel.destination = 'Earth' EarthRoute.vault.push(parcel) } } class MoonRoute { static warehouse = [] transfer(parcel) { parcel.destination = 'Moon' MoonRoute.warehouse.push(parcel) } } Из каждого из этих классов можно создавать отдельные маршруты и отправлять любой JavaScript-объект в виде посылки. Каждому такому объекту будет прописываться поле destination, соответствующее используемому маршруту. И каждый из этих объектов попадёт в хранилище посылок, специфичное для места назначения. Человечество готовится к дальнейшей экспансии в космос и уже построен соответствующий корабль — «Mothership». За некоторое время до вылета, нужно начать дублировать все посылки, идущие на Землю и на Луну, ещё и на корабль «Mothership». Напишите функцию extendTransportSystem(EarthRoute, MoonRoute), которая будет: принимать оба класса существующих транспортных маршрутов (EarthRoute и MoonRoute) и сможет менять их возвращать массив, в который будут попадать такие же посылки, каждый раз, когда кто-то посылает что-то по любому из маршрутов (с помощью метода transfer) Единственное отличие посылок на «Mothership» должно состоять в том, что у них поле destination должно быть равным 'Mothership', а изначальное значение destination должно попасть в поле origin. Все остальные поля посылки должны быть такими же. В тестах функция extendTransportSystem(EarthRoute, MoonRoute) будет вызвана перед отправками посылок, а содержимое возвращаемого ей массива будет проверено после всех отправок. Упрощённый пример теста: const mothershipStorage = extendTransportSystem(EarthRoute, MoonRoute) const earthRoute1 = new EarthRoute() const moonRoute2 = new MoonRoute() earthRoute1.transfer({ content: 123 }) moonRoute2.transfer({ text: 'abc' }) console.log(mothershipStorage) /* [ * { content: 123, origin: 'Earth', destination: 'Mothership' }, * { text: 'abc', origin: 'Moon', destination: 'Mothership' } * ] */ console.log(EarthRoute.vault) /* [ * { content: 123, destination: 'Earth' } * ] */ console.log(MoonRoute.warehouse) /* [ * { text: 'abc', destination: 'Moon' } * ] */

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта