Объясните пожалуйста тонкий момент.
65
24
Есть 2 случая:
Первый случайВторой случай
С первым случаем всё просто и понятно .
Но я никак не могу понять , почему во втором случае мы можем обратиться к параметру private , который ограничен только видимостью своего класса . У нас же не должно быть возможности обратиться к методу . Или метод(функция) вызывает сначала параметр внутри класса, а потом возвращает уже нам "Jane" ?
P.S.:
Локальный мем
KRATI сказал(а):↑черным по белому написано что это синтаксический сахар где ты приватные свойства класса определяеешь в списке параметров конструктора.
то есть в обоих случаях приватное свойство name в классе присутствует, которое видимо из метода класса
Нажмите, чтобы раскрыть...Чёрным по белому написано в первом случае:
person.name isn't accessible from outside the class since it's private
Dawnbrocker сказал(а):↑Чёрным по белому написано в первом случае:
person.name isn't accessible from outside the class since it's private
Нажмите, чтобы раскрыть...ты косвенно делаешь его видимым через метод. само свойство приватное, но метод, который возвращает значение свойства - публичный.
обращаю внимание на то, что ты оперируешь значением свойства, а не свойством. вне класса ты не можешь напрямую к нему обратиться, и следовательно изменить его, пока не напишешь метод который это делает
KRATI сказал(а):↑ты косвенно делаешь его видимым через метод. само свойство приватное, но метод который, возвращает значение свойства - публичный.
обращаю внимание на то, что ты оперируешь значением свойства, а не свойством. вне класса ты не можешь напрямую к нему обратиться, и следовательно изменить его, пока не напишешь метод который это делает
Нажмите, чтобы раскрыть...Этот ваш синтаксический сахар. Кто вообще это выражение придумал. Я себя диабетиком чувствую.
Dawnbrocker сказал(а):↑С первым случаем всё просто и понятно .
Но я никак не могу понять , почему во втором случае мы можем обратиться к параметру private , который ограничен только видимостью своего класса . У нас же не должно быть возможности обратиться к методу . Или метод(функция) вызывает сначала параметр внутри класса, а потом возвращает уже нам "Jane" ?
Нажмите, чтобы раскрыть...между первым и вторым примером нет никакой разницы...
KRATI сказал(а):↑ты косвенно делаешь его видимым через метод. само свойство приватное, но метод, который возвращает значение свойства - публичный.
обращаю внимание на то, что ты оперируешь значением свойства, а не свойством. вне класса ты не можешь напрямую к нему обратиться, и следовательно изменить его, пока не напишешь метод который это делает
Нажмите, чтобы раскрыть...Спасибо, что всё разъяснил , от души, брат . Я просто полдня сижу и читаю этот typescript .
P.S.: Хейтеров к стенке на расстрел
Закись Ашота сказал(а):↑"Костыль" лучше звучит?
Нажмите, чтобы раскрыть...Удобная фича, альтернативный синтаксис, другая запись.
Dawnbrocker сказал(а):↑Есть 2 случая:
Первый случайВторой случай
С первым случаем всё просто и понятно .
Но я никак не могу понять , почему во втором случае мы можем обратиться к параметру private , который ограничен только видимостью своего класса . У нас же не должно быть возможности обратиться к методу . Или метод(функция) вызывает сначала параметр внутри класса, а потом возвращает уже нам "Jane" ?
P.S.:
Локальный мем
Нажмите, чтобы раскрыть...я потестил что под первым спойлером и у меня не было никакого person name isn`t accessible
Удалено 624055 сказал(а):↑я потестил что под первым спойлером и у меня не было никакого person name isn`t accessible
Нажмите, чтобы раскрыть...насколько я понял имеется в виду
"просто person.name не сработает, только через getName()"
А по поводу объявления полей класса прямо в параметрах конструктора - полный кринж
haHAA сказал(а):↑насколько я понял имеется в виду
"просто person.name не сработает, только через getName()"
А по поводу объявления полей класса прямо в параметрах конструктора - полный кринж
Нажмите, чтобы раскрыть...Лучше как в говне, написать в структуре потом полисать файл найти конструктор ещё раз написать все поля в параметры ещё их потом и присваивать. Вот это кринж в 21 веке.
Pudgewerksaw сказал(а):↑Лучше как в говне, написать в структуре потом полисать файл найти конструктор ещё раз написать все поля в параметры ещё их потом и присваивать. Вот это кринж в 21 веке.
Нажмите, чтобы раскрыть...нет лучше сидеть плодить абстрактные фабрики а потом сидеть в миллиарде файлов на каждую функцию ахахха
иди из конструктора (юнити) собирай клонов клеш рояля и дудл жампа ГЕЙм девелопер))
haHAA сказал(а):↑нет лучше сидеть плодить абстрактные фабрики а потом сидеть в миллиарде файлов на каждую функцию ахахха
иди из конструктора (юнити) собирай клонов клеш рояля и дудл жампа ГЕЙм девелопер))
Нажмите, чтобы раскрыть...Как будто в гоу этого делать не надо, это надо делать везде.
Гоу это тоже самое только ограниченое, и на гоу все эти абстракции не пишут потому что язык такое говно что просто синтаксически это не тянет ты умрешь в попытках написать нормальный код.
Dawnbrocker сказал(а):↑Да вот тоже кринжанул люто. Это типа удобно , а код при этом не читаем .
Нажмите, чтобы раскрыть...Это реально удобно, хз в чем кринж. Избежали лишнего бойлерпринта. В котлине и дарте тоже есть.
Впрочем, если вдруг, вы слишком тупой консервативный, чтобы освоить нововведения, можно просто не пользоваться и, уверен, что есть правило линтера, которое такое запретит.
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:5
Просмотров:4
-
коплю минусы 04 May 2024 в 09:48Сообщений: 1 04 May 2024 в 09:48
Сообщений:1
Просмотров:2
-
было так 04 May 2024 в 08:15Сообщений: 23 04 May 2024 в 08:15
Сообщений:23
Просмотров:31
-
Сообщений:7
Просмотров:12
-
Сообщений:35
Просмотров:41