Dawnbrocker

Пользователь

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

Dawnbrocker

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

img

Есть 2 случая:

Первый случай
Второй случай

 

С первым случаем всё просто и понятно pepecool.png?1592046811.

Но я никак не могу понять PepeBadFeel.png?1598553375, почему во втором случае мы можем обратиться к параметру private , который ограничен только видимостью своего класса GivePLZ.png?1616515136. У нас же не должно быть возможности обратиться к методу Bratishka.png?1619500459. Или метод(функция) вызывает сначала параметр внутри класса, а потом возвращает уже нам "Jane" relaxeat.gif?1631454183?

 

P.S.: 

Локальный мем

 

 

 

KRATI

Пользователь

Регистрация: 25.09.2021

Сообщения: 2824

Рейтинг: 1320

KRATI

Регистрация: 25.09.2021

Сообщения: 2824

Рейтинг: 1320

img

черным по белому написано что это синтаксический сахар где ты приватные свойства класса определяеешь в списке параметров конструктора.

 

то есть в обоих случаях приватное свойство name в классе присутствует, которое видимо из метода класса

Dawnbrocker

Пользователь

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

Dawnbrocker

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

img
KRATI сказал(а):

черным по белому написано что это синтаксический сахар где ты приватные свойства класса определяеешь в списке параметров конструктора.

 

то есть в обоих случаях приватное свойство name в классе присутствует, которое видимо из метода класса

Нажмите, чтобы раскрыть...

Чёрным по белому написано в первом случае:

 

 person.name isn't accessible from outside the class since it's private

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 12182

Рейтинг: 7008

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 12182

Рейтинг: 7008

img

Я знал ответ, но забыл. PepeCry.png

KRATI

Пользователь

Регистрация: 25.09.2021

Сообщения: 2824

Рейтинг: 1320

KRATI

Регистрация: 25.09.2021

Сообщения: 2824

Рейтинг: 1320

img
Dawnbrocker сказал(а):

Чёрным по белому написано в первом случае:

 

 person.name isn't accessible from outside the class since it's private

Нажмите, чтобы раскрыть...

ты косвенно делаешь его видимым через метод. само свойство приватное, но метод, который возвращает значение свойства - публичный.

 

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

Dawnbrocker

Пользователь

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

Dawnbrocker

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

img
KRATI сказал(а):

ты косвенно делаешь его видимым через метод. само свойство приватное, но метод который, возвращает значение свойства - публичный.

 

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

Нажмите, чтобы раскрыть...

Этот ваш синтаксический сахар. Кто вообще это выражение придумал. Я себя диабетиком чувствую. 

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 12182

Рейтинг: 7008

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 12182

Рейтинг: 7008

img
Dawnbrocker сказал(а):

Этот ваш синтаксический сахар. Кто вообще это выражение придумал. Я себя диабетиком чувствую. 

Нажмите, чтобы раскрыть...

"Костыль" лучше звучит? sammyyPepekek.png?1598626065

Pudgewerksaw

Пользователь

Регистрация: 06.01.2021

Сообщения: 2406

Рейтинг: 1006

Нарушения: 99

Pudgewerksaw

Регистрация: 06.01.2021

Сообщения: 2406

Рейтинг: 1006

Нарушения: 99

У у6бища появился конкурент. 

 

Joker584

Пользователь

Регистрация: 31.10.2013

Сообщения: 2294

Рейтинг: 1718

Joker584

Регистрация: 31.10.2013

Сообщения: 2294

Рейтинг: 1718

примеры идентичны. getName - это public метод-геттер. ты просто получаешь значение name, но не можешь его менять

YoshkinKot

Пользователь

Регистрация: 20.06.2016

Сообщения: 13533

Рейтинг: 5384

YoshkinKot

Регистрация: 20.06.2016

Сообщения: 13533

Рейтинг: 5384

Dawnbrocker сказал(а):

С первым случаем всё просто и понятно pepecool.png?1592046811.

Но я никак не могу понять PepeBadFeel.png?1598553375, почему во втором случае мы можем обратиться к параметру private , который ограничен только видимостью своего класса GivePLZ.png?1616515136. У нас же не должно быть возможности обратиться к методу Bratishka.png?1619500459. Или метод(функция) вызывает сначала параметр внутри класса, а потом возвращает уже нам "Jane" relaxeat.gif?1631454183?

Нажмите, чтобы раскрыть...

между первым и вторым примером нет никакой разницы...

Dawnbrocker

Пользователь

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

Dawnbrocker

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

img
KRATI сказал(а):

ты косвенно делаешь его видимым через метод. само свойство приватное, но метод, который возвращает значение свойства - публичный.

 

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

Нажмите, чтобы раскрыть...

Спасибо, что всё разъяснил ZeroTwoHappy.png?1621091332, от души, брат AnimeHugs.png?1621091397. Я просто полдня сижу и читаю этот typescript HAhaa.png?1616514247.

 

P.S.: Хейтеров к стенке на расстрел PepeGun2.gif?1592102710

Закись Ашота сказал(а):

"Костыль" лучше звучит? sammyyPepekek.png?1598626065

Нажмите, чтобы раскрыть...

Удобная фича, альтернативный синтаксис, другая запись. 

Striped

Пользователь

Регистрация: 24.11.2021

Сообщения: 133

Рейтинг: 21

Striped

Регистрация: 24.11.2021

Сообщения: 133

Рейтинг: 21

img

в откликах на хх уже нашел работу веб разработчика? 

Dawnbrocker

Пользователь

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

Dawnbrocker

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

img
Striped сказал(а):

в откликах на хх уже нашел работу веб разработчика? 

Нажмите, чтобы раскрыть...

Вторую пока не нашёл PepeHappy.gif?1613920413

Striped

Пользователь

Регистрация: 24.11.2021

Сообщения: 133

Рейтинг: 21

Striped

Регистрация: 24.11.2021

Сообщения: 133

Рейтинг: 21

img
Dawnbrocker сказал(а):

Вторую пока не нашёл PepeHappy.gif?1613920413

Нажмите, чтобы раскрыть...

веб разраб значит...CoolNut.png?1619501245

y6ejushe

Пользователь

Регистрация: 24.10.2021

Сообщения: 12987

Рейтинг: 2166

Нарушения: 15

y6ejushe

Регистрация: 24.10.2021

Сообщения: 12987

Рейтинг: 2166

Нарушения: 15

Pudgewerksaw сказал(а):

У у6бища появился конкурент. 

 

Нажмите, чтобы раскрыть...

ПХхахахаа, он тебя задизлайкал, даже вкатыш не хочет быть как я, хпхахахаха))

Удалено 624055

Пользователь

Регистрация: 24.03.2016

Сообщения: 37

Рейтинг: 14

Удалено 624055

Регистрация: 24.03.2016

Сообщения: 37

Рейтинг: 14

img
Dawnbrocker сказал(а):

Есть 2 случая:

Первый случай
Второй случай

 

С первым случаем всё просто и понятно pepecool.png?1592046811.

Но я никак не могу понять PepeBadFeel.png?1598553375, почему во втором случае мы можем обратиться к параметру private , который ограничен только видимостью своего класса GivePLZ.png?1616515136. У нас же не должно быть возможности обратиться к методу Bratishka.png?1619500459. Или метод(функция) вызывает сначала параметр внутри класса, а потом возвращает уже нам "Jane" relaxeat.gif?1631454183?

 

P.S.: 

Локальный мем

 

 

 

Нажмите, чтобы раскрыть...

я потестил что под первым спойлером и у меня не было никакого person name isn`t accessible

haHAA

Пользователь

Регистрация: 25.03.2017

Сообщения: 1109

Рейтинг: 742

haHAA

Регистрация: 25.03.2017

Сообщения: 1109

Рейтинг: 742

img
Удалено 624055 сказал(а):

я потестил что под первым спойлером и у меня не было никакого person name isn`t accessible

Нажмите, чтобы раскрыть...

насколько я понял имеется в виду 

 

 

"просто person.name не сработает, только через getName()"

 

 

А по поводу объявления полей класса прямо в параметрах конструктора - полный кринж

Pudgewerksaw

Пользователь

Регистрация: 06.01.2021

Сообщения: 2406

Рейтинг: 1006

Нарушения: 99

Pudgewerksaw

Регистрация: 06.01.2021

Сообщения: 2406

Рейтинг: 1006

Нарушения: 99

haHAA сказал(а):

насколько я понял имеется в виду 

 

 

"просто person.name не сработает, только через getName()"

 

 

А по поводу объявления полей класса прямо в параметрах конструктора - полный кринж

Нажмите, чтобы раскрыть...

Лучше как в говне, написать в структуре потом полисать файл найти конструктор ещё раз написать все поля в параметры ещё их потом и присваивать. Вот это кринж в 21 веке. 

 

 

haHAA

Пользователь

Регистрация: 25.03.2017

Сообщения: 1109

Рейтинг: 742

haHAA

Регистрация: 25.03.2017

Сообщения: 1109

Рейтинг: 742

img
Pudgewerksaw сказал(а):

Лучше как в говне, написать в структуре потом полисать файл найти конструктор ещё раз написать все поля в параметры ещё их потом и присваивать. Вот это кринж в 21 веке. 

 

 

Нажмите, чтобы раскрыть...

нет лучше сидеть плодить абстрактные фабрики а потом сидеть в миллиарде файлов на каждую функцию ахахха

иди из конструктора (юнити) собирай клонов клеш рояля и дудл жампа ГЕЙм девелопер))

morecore

Пользователь

Регистрация: 19.07.2013

Сообщения: 1111

Рейтинг: 317

morecore

Регистрация: 19.07.2013

Сообщения: 1111

Рейтинг: 317

шта? у тебя есть работа за деньги связанная с кодом но ты не выкупаешь концепцию приватных полей и геттеров?

Pudgewerksaw

Пользователь

Регистрация: 06.01.2021

Сообщения: 2406

Рейтинг: 1006

Нарушения: 99

Pudgewerksaw

Регистрация: 06.01.2021

Сообщения: 2406

Рейтинг: 1006

Нарушения: 99

haHAA сказал(а):

нет лучше сидеть плодить абстрактные фабрики а потом сидеть в миллиарде файлов на каждую функцию ахахха

иди из конструктора (юнити) собирай клонов клеш рояля и дудл жампа ГЕЙм девелопер))

Нажмите, чтобы раскрыть...

Как будто в гоу этого делать не надо, это надо делать везде.

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

Dawnbrocker

Пользователь

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

Dawnbrocker

Регистрация: 04.12.2022

Сообщения: 1386

Рейтинг: 1201

img
haHAA сказал(а):

насколько я понял имеется в виду 

 

 

"просто person.name не сработает, только через getName()"

 

 

А по поводу объявления полей класса прямо в параметрах конструктора - полный кринж

Нажмите, чтобы раскрыть...

Да вот тоже кринжанул люто. Это типа удобно KEKWait.png?1616515041, а код при этом не читаем HAhaa.png?1616514247

DrZoidberg

Пользователь

Регистрация: 17.01.2017

Сообщения: 1464

Рейтинг: 433

Нарушения: 70

DrZoidberg

Регистрация: 17.01.2017

Сообщения: 1464

Рейтинг: 433

Нарушения: 70

Dawnbrocker сказал(а):

Да вот тоже кринжанул люто. Это типа удобно KEKWait.png?1616515041, а код при этом не читаем HAhaa.png?1616514247

Нажмите, чтобы раскрыть...

Это реально удобно, хз в чем кринж. Избежали лишнего бойлерпринта. В котлине и дарте тоже есть. 

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

Удалено 624055

Пользователь

Регистрация: 24.03.2016

Сообщения: 37

Рейтинг: 14

Удалено 624055

Регистрация: 24.03.2016

Сообщения: 37

Рейтинг: 14

img
haHAA сказал(а):

насколько я понял имеется в виду 

 

 

"просто person.name не сработает, только через getName()"

 

 

А по поводу объявления полей класса прямо в параметрах конструктора - полный кринж

Нажмите, чтобы раскрыть...

если так то вся тема - нытьё про гетеры???