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

Это действительно так уж необходимо - делать недоступные скрытые свойства?

13 ответов

13 просмотров

почему скрытые, просто неизменные, есть же такая практика

jk- Автор вопроса

Даже если так, насколько это стоит того?

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

jk- Автор вопроса

И зачем их трогать?

защита от дураков, как я, хз

jk- Автор вопроса

Я тоже хз. Все стремятся скрывать данные чтобы некие дураки их не изменили.

jk
Я тоже хз. Все стремятся скрывать данные чтобы нек...

class ClassWithPrivateAccessor { #message get #decoratedMessage() { return ✨${this.#message}✨; } set #decoratedMessage(msg) { this.#message = msg; } constructor() { this.#decoratedMessage = 'hello world'; console.log(this.#decoratedMessage); } } new ClassWithPrivateAccessor(); // expected output: "✨hello worl​d✨"

Ксяу Ка
class ClassWithPrivateAccessor { #message get ...

классы ради классов, обожаю

Ivan S
классы ради классов, обожаю

это пример с мдн, кстати

Ксяу Ка
это пример с мдн, кстати

ну там чтоб суть донести, я так понимаю

Ivan S
ну там чтоб суть донести, я так понимаю

ну да, что зверь никуда не сможет свою торпеду сунуть

jk
Я тоже хз. Все стремятся скрывать данные чтобы нек...

Не совсем. У класса может быть внутренняя логика и внешняя Вот ты класс, у тебя есть методы есть, пить, ходить, спать, и т.п. А так же есть методы переварить еду/жидкость, запустить сон, проснутся, уснуть Тебе напрямую эти методы не нужны, они являются теми частями кода которые были декомпозированы и напрямую не должны исполтзоватся и не нужны для прямого использования, вот они и приватные Фактично в этом есть 3 роли 1 - скрыть от дурака, да 2 - отделить внешний интерфейс взаимодействия от внутреннего 3 - фактично самодокументация что можно юзать а что нет Все это легче понять на больших проектах и сложных структурах, сервисах т.к. для малкньких проектов, классов это не имеет много смысла Можно ознакомится с паттернами GoF, после них некоторые вещи в ооп проясняються на практике

jk- Автор вопроса
Bohdan Bida 🇺🇦
Не совсем. У класса может быть внутренняя логика и...

Самодокументация в плане "разрешено всё что не запрещено"?

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта