Size: a a a

2021 April 28

AN

Alex Noname in rust_offtopic
так а в чём проблема impl Trait for Struct { ... } связал данные с интерфейсом. Чем не ооп-инкапсуляция ? Или что надо?
источник

TK

Traveller Kolsky in rust_offtopic
В модуле
источник

TK

Traveller Kolsky in rust_offtopic
На самом деле ответ был проще некуда
источник

TK

Traveller Kolsky in rust_offtopic
Надо запомнить
источник

Т8

Т-34 85 in rust_offtopic
ну хз, спор об определениях уже пойдёт. Вот с чем точно не согласен, так что это сокрытие
источник

TK

Traveller Kolsky in rust_offtopic
Хорошо, твоё определение возьмём за истину в последней инстанции. Компонентом будет модуль.
Вопросы?
источник

CD

Constantine Drozdov in rust_offtopic
Классическое определение даёт инкапсуляция (ООП), так что инкапсуляция не просто черта ООП, она не определена вне ООП-контекста
источник

TK

Traveller Kolsky in rust_offtopic
Потому оно убого и ограничено. Считает, будто ООП это центр мира, а остального не существует, хотя на самом деле вовсе не так.
источник

CD

Constantine Drozdov in rust_offtopic
Как определить инкапсуляцию вне ООП?
источник

CD

Constantine Drozdov in rust_offtopic
Когда я еду в микроволновку ставлю я уже инкапсулирую или еще нет?
источник

TK

Traveller Kolsky in rust_offtopic
Выше дал определение, оно везде подойдёт. И не я его придумал. Закроем тему.
источник

CD

Constantine Drozdov in rust_offtopic
Так оно просто не соответствует тому, что называется инкапсуляцией, так что очень интересно, кто его придумал. Ширма ничего не инкапсулирует
источник

CD

Constantine Drozdov 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
Вектор инкапсулирован в модуле, на одном типе определены все функции и данные.
источник

TK

Traveller Kolsky in rust_offtopic
источник

TK

Traveller Kolsky in rust_offtopic
Если не верится в мои слова, есть книга
источник

CD

Constantine Drozdov in rust_offtopic
> implementation details of an object
> object
там какое-то слово "объект" используется
источник