Size: a a a

2021 April 28

CD

Constantine Drozdov in rust_offtopic
Или ты так и не понял, что инкапсуляция это не про protected, а про метод в объекте
источник

Т8

Т-34 85 in rust_offtopic
Блять, это вообще ни на что не влияет. Я про инкапсуляцию, а не про сокрытие
источник

Т8

Т-34 85 in rust_offtopic
Пиздец, я ему заебался объяснять
источник

TK

Traveller Kolsky in rust_offtopic
В определении нигде не сказано, что долже быть метод, метод должен быть в объекте, а объект должен быть экземпляром класса
источник

[

[BRM]White Rabbit in rust_offtopic
Инкапсуляция это защита инвариантов
источник

TK

Traveller Kolsky in rust_offtopic
Вот им я как раз заебался это объяснять
источник

CD

Constantine Drozdov in rust_offtopic
Там сказано, что в капсуле должны быть данные и методы работы с ними
источник

TK

Traveller Kolsky in rust_offtopic
Замени слово методы на функции, потому что методы - функции, которые можно вызывать через точку
источник

TK

Traveller Kolsky in rust_offtopic
Не сказано, что капсула обязана поддерживать дин диспатч
источник

CD

Constantine Drozdov in rust_offtopic
Если капсула не поддерживает динамический полиморфизм, метод находится вне капсулы
источник

[

[BRM]White Rabbit in rust_offtopic
Метод - функция, которая неявно принимает параметр this
Ну или явно self, привет питону
источник

CD

Constantine Drozdov in rust_offtopic
Именно поэтому разграничения прав доступа недостаточно
источник

TK

Traveller Kolsky in rust_offtopic
Без разницы, абсолютно. В одном случае vtable прицепом идёт к объекту. В другом можно прицепить самому, если нужно.
источник

CD

Constantine Drozdov in rust_offtopic
Прицепить vtbl требует нарушить систему типов
источник

TK

Traveller Kolsky in rust_offtopic
Прицепленный vtable нужен исключительно ради полиморфизма наследования
источник

CD

Constantine Drozdov in rust_offtopic
Потому что vtbl требует обратного преобразования
источник

TK

Traveller Kolsky in rust_offtopic
Box<dyn Trait> ничего не нарушает в системе типов
источник

TK

Traveller Kolsky in rust_offtopic
Но не реализует наследование
источник

CD

Constantine Drozdov in rust_offtopic
dyn Trait это команда генерации vtbl
источник

CD

Constantine Drozdov in rust_offtopic
dyn Trait является в точности ООП интерфейсом
источник