Size: a a a

2021 April 28

TK

Traveller Kolsky in rust_offtopic
Interface a = new Doge();
источник

[

[BRM]White Rabbit in rust_offtopic
И всё, готовая единица написания кода, которая идёт учить паттерны и пилить формочки
источник

Т8

Т-34 85 in rust_offtopic
Это не инкапсуляция
источник

[

[BRM]White Rabbit in rust_offtopic
Это инкастыляция
источник

TK

Traveller Kolsky in rust_offtopic
Это половина из того, как достигается инкапсуляция
источник

Т8

Т-34 85 in rust_offtopic
Ну вот в сишку добавить модификатор видимости - это уже инкапсуляция? Методов, напомню, нет
источник

[

[BRM]White Rabbit in rust_offtopic
Там, в сишке, кастылят ооп
источник

[

[BRM]White Rabbit in rust_offtopic
На макросах
источник

[

[BRM]White Rabbit in rust_offtopic
Насколько я знаю
источник

TK

Traveller Kolsky in rust_offtopic
Методы - это которые через точку вызываются? Они абсолютно не нужны. Объяви функции, работающие с типом, в рамках одного хедера, будет тебе инкапсуляция.
источник

Т8

Т-34 85 in rust_offtopic
То есть, полиморфизм подтипов не всегда может быть полноценно заменён параметрическим полиморфизмом?
источник

Т8

Т-34 85 in rust_offtopic
А теперь покажи, как сделать оверрайд
источник

TK

Traveller Kolsky in rust_offtopic
Какой оверрайд? Тут к наследованию. Даже не во всех ООП есть модификатор protected. Иначе композицией можно заменить.
источник

Т8

Т-34 85 in rust_offtopic
Блять. Ладно, надоело
источник

CD

Constantine Drozdov in rust_offtopic
Нельзя композицией заменить, override требует либо компильтайм информации о типе (отсутствие динамического полиморфизма), либо указателя на функцию
источник

CD

Constantine Drozdov in rust_offtopic
Указатель на функцию требует определения двух кастов, один из которых не может быть выписан в композиции
источник

TK

Traveller Kolsky in rust_offtopic
Динамический полиморфизм - фишка наследования, а не инкапсуляции
источник

Т8

Т-34 85 in rust_offtopic
Это фишка и того, и другого!
источник

TK

Traveller Kolsky in rust_offtopic
Только из-за protected? Ошибаешься. Это детали реализации.
источник

Т8

Т-34 85 in rust_offtopic
Точнее, это возможность появляется благодаря и тому, и другому одновременно
источник