Перейти к публикации

get/set и его использование в Javascript


Рекомендованные сообщения

Решил понять смысл get/set, написал небольшой код, правильно ли в нем используется
 метод get/set или нужно по-другому, если по-другому, напишите пож. как лучше в моем коде.
 

<script>
class Beverage{
    constructor(options){
        this.name = options.name;
    }
    returnName() {console.log(this.name)}
}

class Price extends Beverage
{
    constructor(options){
        super(options)
        this.price = options.price;
        this.bos = options.bos;
    }

    result() {console.log("Напиток " + this.name + " Цена" + this.price + "Директор - " + this.bos)}
    
    get Bos(){
    {return result()}
    }    
    
    set Bos(newBos){
    const newbos = newBos.split(' ');
    this.bos = newbos[0];
    this.bos = newbos[1]
   }    
}

const bev = new Beverage({name: 'Coca-cola'})
bev.returnName()

const price = new Price({name: 'Fanta',price: " - 200 евро ",bos: "Стивен"})
price.result()

price.bos = "Майкл Джексон"
price.result()
</script>

 

Ссылка на сообщение
Поделиться на других сайтах

Дело не в гетере и сеттере. Тут все надо переделывать. Вам пока нельзя extend. Поймите когда это нужно, а когда нет.  

Ссылка на сообщение
Поделиться на других сайтах
11 часов назад, Full-R сказал:

Поймите когда это нужно, а когда нет.  

Когда нужно его вообще использовать get/set?

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, denis_alekss сказал:

Когда нужно его вообще использовать get/set?

Давайте я вам приведу нормальный пример из того же JavaScript, но более раннего поколения, где можно адекватно проследить смысл.

 

Obj = {

                get future() {

                        return null;

                },

                set data( a = true ) {

                }

};

У гетера нет аргументов. Он как бы и не нужен, но приколу всем у кого JavaScript головного мозга и эйфория от высокого ООП, а сетер ни чего не возвращает. Это можно использовать для смысловой подсветки кода, если вам это нравится.

Лично мне, тот class, который вдрочили в ECMAScript с большим опозданием показался гораздо глупее литерал объекта, который умеет делать protected поля и работает с теми же Set и Get.

Он и расширяется проще и работает мудрее в плане интеграции генераторов, если они нужны или стрелочных функций, когда this не нужен.

Изменено пользователем Full-R
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Статистика пользователей

    47 304
    Всего пользователей
    1 451
    Рекорд онлайна
    kenwood
    Новый пользователь
    kenwood
    Регистрация
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...