- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
import std.stdio;
interface Pethu {
final void Say() {
writeln("Hrueeee");
}
}
void SayTwice(Pethu pethu) {
pethu.Say();
pethu.Say();
}
class PethuImpl : Pethu { }
void main() {
auto pethu = new PethuImpl();
pethu.SayTwice();
}
язык богов!!!111
Так нельзя в растне матапушто правило сиротки. Я забыл кстати, можно-ли так в Говне
Сейчас проверю
As the compiler mentions, you can't extend existing types in another package. You can define your own type backed by the original as follows:
хотя в соседнем треде делал это для Int, а потому по идее всё ок
В C++ можно дефеницировать функцию где угодно, но декларнуть всё же нужно в декларации класса
is the equivalent of:
В коко можно через extn. methods кстати
и в грувя
при этом в языке так же есть абстрактные классы
Чем он лучше pure abstract класса?
Зачем он вообще в ЯЖА и Сисярп? Особенно зачем он там после появления дефолтных методов?
Зачем он в пыхе я не спрашиваю: это глупый вопрос
В С++ багор сокрыт в невиртуальном наследовании, а в ЯЖА его нету, так что проблема решается MRO, как в питухоне
в абстрактном классе могут быть поля/проперти, у интерфейса нет (статические, впрочем, могут быть)
Почему же пьют не меньше?
Фууууууу
в реальности гордиться капсулой Восторг с окнами, настолько большими, что дядя Гага не привез из командировки в Саратовскую область ни одной фотографии
можно делать AOP
https://govnokod.ru/28850#comment1173165
это ведь по сути не расширение типа, а сахарок:
https://dlang.org/spec/function.html#pseudo-member
но как-нибудь проверю для кастомных типов и скажу
https://govnokod.xyz/_28851/#comment-1273812
ах да. ПОШËЛ НАХУЙ СО МОЕЙ ВЕТКИ, ГОНДОН
Где-то рядом по стилю фейковые скриншоты переписки в Вотсаппе.
Это в хрюкни.
Да и для Rust'а нету.
https://pbs.twimg.com/media/GaYeImYWQAA7ahM?format=jpg&name=small
the toxic avenger от troma, там было ещё что-то, но таймкоды уже не вспомню
https://pbs.twimg.com/media/GM4wstZWoAEqVqK.jpg:large