Куча говна / Говнокод #28851 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 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();
}

Запостил: Desktop Desktop, (Updated )

Комментарии (72) RSS

    • Это красивое решение, и оно в целом помогает дискаверабилити
      Так нельзя в растне матапушто правило сиротки. Я забыл кстати, можно-ли так в Говне
      Сейчас проверю
      Ответить
      • sosat

        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:
        Ответить
        • ну с another package я и здесь, если честно, не проверял

          хотя в соседнем треде делал это для Int, а потому по идее всё ок
          Ответить
          • Просто в том же самом файле можно и в Расте, и в Го.

            В C++ можно дефеницировать функцию где угодно, но декларнуть всё же нужно в декларации класса
            Ответить
            • A more complex example:

              stdin.byLine(KeepTerminator.yes)
                  .map!(a => a.idup)
                  .array
                  .sort
                  .copy(stdout.lockingTextWriter());


              is the equivalent of:

              copy(sort(array(map!(a => a.idup)(byLine(stdin, KeepTerminator.yes)))), lockingTextWriter(stdout));
              Ответить
              • Вот это заебись


                В коко можно через extn. methods кстати
                и в грувя
                Ответить
                • зацени ещё final метод с реализацией в интерфейсе

                  при этом в языке так же есть абстрактные классы
                  Ответить
                  • зачем и чем они все отличаются
                    Ответить
                    • ну возможности немного разные, а так сложно сказать, надо читать истерические справки
                      Ответить
                  • Реализация в интерфейсе меня убила. Я раньше думал, что интерфейс должен быть чисто абстрактным.
                    Ответить
                    • Нахуя?
                      Чем он лучше pure abstract класса?

                      Зачем он вообще в ЯЖА и Сисярп? Особенно зачем он там после появления дефолтных методов?

                      Зачем он в пыхе я не спрашиваю: это глупый вопрос
                      Ответить
                      • В Йаже есть интерфейсы, потому что там запретили множественное наследование неабстрактных классов, ибо нехуй мешать импельменьтацию с риском получить случайное поведение.
                        Ответить
                        • чем интерфейс с дефолтимплементацией отлич от абстр класса?


                          В С++ багор сокрыт в невиртуальном наследовании, а в ЯЖА его нету, так что проблема решается MRO, как в питухоне
                          Ответить
                          • если говорить про D

                            в абстрактном классе могут быть поля/проперти, у интерфейса нет (статические, впрочем, могут быть)
                            Ответить
                            • Вы же про Дэ пиздите чисто из научного интереса? Это как экспертно пиздеть про космические корабли Макса, но при этом в реальности никогда в этом не участвовать?
                              Ответить
                              • > в реальности никогда в этом не участвовать
                                в реальности гордиться капсулой Восторг с окнами, настолько большими, что дядя Гага не привез из командировки в Саратовскую область ни одной фотографии
                                Ответить
                    • ну в свифте тоже есть default implementations, не 100% эквивалент, но я уже привычный

                      можно делать AOP
                      Ответить
    • а можно `SayTwice` в другом модуле (или как оно там у вас называется?) определить?
      Ответить
    • судя по орфографии, она и своей не сильно интересовалась

      ах да. ПОШËЛ НАХУЙ СО МОЕЙ ВЕТКИ, ГОНДОН
      Ответить
    • Пиздец шлюха. Хоть бы с левого акка спрашивала
      Ответить
      • Судя по орфографии, спрашивает сын с левого акка. А скорее всего, оба акка левые.
        Ответить
        • Чтобы на Пикабу выложить и кармы надрочить? Ясно.
          Ответить
          • Знаешь, сейчас ещё модно выкладывать картинки типа скриншот форума/блога: картинка, а под ней комментарий с замазанным ником и авой. Судя по стилю, это не скриншоты реальных сайтов, а просто автор под картинкой фотошопом добавил вымышленный комментарий, думая, что так будет смешнее.

            Где-то рядом по стилю фейковые скриншоты переписки в Вотсаппе.
            Ответить
        • зачем делать какие-то акки, если можно просто хтмл в браузере поправить
          Ответить
          • Зачем править HTML, когда можно в "mspaint" нарисовать белый квадратик, и написать любой вообще текст?
            Ответить
  • Страйко, почему для Go'вна есть раздел, а для D нету? На D не говнокодят?

    Да и для Rust'а нету.
    Ответить
    • Ну ты ещё спроси почему FORTRAN и COBOL нету. Какой смысл добавлять говны, если их через пару лет опять удалять?
      Ответить
  • Ik ben moe, ik ben verdrieteg en verveden, en ik wil drinken. Drinken is altijd erg goed van jouw humeur
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8