1. Java / Говнокод #25882

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    public class Main {
        public static void main(String[] args) {
            ThreeD[] f = {new ThreeD(5, 9, 7), new FourD(1,3,8,5)};
            Coords<ThreeD> c = new Coords<>(f);
            showXYZ(c);
            FiveD[] x = new FiveD[] {new FiveD(11,22,3,4, 123)};
            Coords<FiveD> b = new Coords<>(x);
            showAll(b);
            FiveD[] z = new FiveD[] {new FiveD(1,2,1,6,5)};
            Coords<FiveD> zz = new Coords<>(z);
        }
        private static void showXY(Coords<? super FourD> c) {
            for(int i = 0; i < c.coords.length; i++) {
                System.out.println(c.coords[i].x +" "+ c.coords[i].y+" ");
            }
        }
    
        private static void showXYZ(Coords<? extends ThreeD> c) {
            for(int i = 0; i < c.coords.length; i++) {
                System.out.println(c.coords[i].x +" "+ c.coords[i].y+" "+c.coords[i].z+" ");
            }
        }
        private static void showAll(Coords<? extends FiveD> c) {
            for(int i = 0; i < c.coords.length; i++) {
                System.out.println(c.coords[i].x +" "+ c.coords[i].y+" "+c.coords[i].z+" "+c.coords[i].t+" "+c.coords[i].m);
            }
        }
    }
    
    class Coords<T extends TwoD> {
        T[] coords;
        Coords(T[] o) {
            coords = o;
        }
    }
    
    class TwoD {
        int x,y;
        TwoD(int a, int b) {
            x = a;
            y = b;
        }
    }
    class ThreeD extends TwoD {
        int z;
        ThreeD(int a, int b, int c) {
            super(a, b);
            z = c;
        }
    }
    class FourD extends ThreeD {
        int t;
        FourD(int a, int b, int c, int d) {
            super(a, b, c);
            t = d;
        }
    }
    class FiveD extends FourD {
        int m;
        FiveD(int a, int b, int c, int d, int e) {
            super(a, b, c, d);
            m = e;
        }
    }

    говнецо или нет

    Запостил: codershitter, 29 Сентября 2019

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

    • показать все, что скрытоПидорашкам будут фиксить дополнительную хромосому, недостаточно генов любви к барину.

      Российские генетики тайно встречались с представителями здравоохранения, в том числе с предполагаемой старшей дочерью Владимира Путина Марией Воронцовой и обсуждали планы молекулярного биолога Дениса Ребрикова провести эксперимент по редактированию ДНК. Об этом пишет Bloomberg со ссылкой на трех неназванных участников встречи.




      По словам собеседников, Мария Воронцова, кандидат медицинских наук в области детской эндокринологии, становится все более влиятельна в вопросах биоэтики.

      Встреча проходила в учреждении (каком, не уточняется) на юге Москвы через шесть недель после того, как журнал Nature в публикации от 11 июня раскритиковал эксперимент Ребрикова и призвал остановить его.

      Беседа длилась три часа, ученые представляли аргументы за и против. Сторонники Ребрикова отметили, что для них встреча была оптимистичной: Воронцова была нейтральна, но согласилась, что научный прогресс не может быть остановлен, а редактирование ДНК должно строго контролировать государство.
      Ответить
      • Будем экспортировать биоэтику, а то в Европе натуральную, без прав человека и прочей толерантности уже не выпускают. Ну то есть ученые приедут со своими лабораториями поработать над всякими запрещенными там экспериментами. Как в Китае.
        Ответить
    • Ересь какая... Чем хуже использовать для этого массивы?
      Ответить
    • Если честно - это пиздос.
      Вопрос вам для размышления: есть квадрат и треугольник, что от чего должно наследоваться?
      Ответить
      • > есть квадрат и треугольник, что от чего должно наследоваться?
        Это вопрос для поехавших ООПошников. В такой формулировке («есть квадрат и треугольник»), наиболее адекватным решением будет что-то вроде такого:
        class Figure:
            def __init__(self):
                self.points = []
        Ответить
        • Ещё у нас был холивар: есть целые числа и вещественные. Что от чего должно наследоваться?

          P.S. Вот, кстати, те самые дебаты для поехавших:
          http://govnokod.ru/20248
          Ответить
          • В математике ℤ ⊂ ℝ, именно поэтому…
            Ответить
            • Верно, а наследование-то в какую сторону: от того, что больше, или от того, что меньше?
              Ответить
              • Ну, я слышал, что ООПошники обычно наследуют элементы подмножества от элементов надмножества («кролика» от «млекопитающего», например), но они все больные, кто их поймёт…
                Ответить
                • Я просто пишу процедурный код и теку. И вообще единственная вменяемая структура данных — это одномерный массив.
                  Ответить
                  • Не "вменяемая", а единственная. Остальные нужны для анскилябров заедушных, прокладок между своим комплиятором и стулом
                    Ответить
            • Я вот ещё о чём подумал: в некоторых ЯП наследование выражается словом «extends», что намекает на то, что потомок должен быть шире предка. А ещё в некоторых ЯП есть специализация дженериков, это уже «наследование» в другую сторону, когда потомок у́же предка.
              Ответить
              • Ну да, говорю же, они поехавшие все!
                Ответить
              • Есть интересное правило для проверки стоит ли при проектировании использовать наследование или композицию или что-еще придумать.
                На английском лучше звучит: something is something. Если да, то можно наследоваться.
                Ответить
            • показать все, что скрытоПрозреваю, что не в первый раз.

              Но ссуть в другом: ℤextends ℝили наоборот
              Ответить
          • Кстати, а существует ли где-нибудь годная "ООП"-шная реализация классов чисел?
            Ответить
            • Хуёвая есть в руби, например. Там все объект.
              В какао есть NSNumber
              В .NET числа тоже объекты (хотя и value types)
              Да и в жабе есть врапперы.

              Смешно, что не работает расширение и сужение
              Ответить
              • И что там от чего наследуется?
                Ответить
                • В чем именно?
                  * Ruby
                  * Cocoa
                  * .NET
                  * JRE
                  ?
                  Ответить
                  • Да хоть где, я просто прошу годный пример.
                    Ответить
                    • Годных нет, но вы держитесь
                      public final class Integer
                      extends Number
                      implements Comparable<Integer>
                      
                      public abstract class Number
                      extends Object
                      Ответить
                      • В смольтольке тоже флоаты и интежеры от нумбера наследуются. Хотя конечно наверное правильней было бы интежера от флоата наследовать, но тогда придется подумать, какие свойства и методы иметь в классах, а какие вынести наружу, а думать — это сложно, да и там где нет функций появятся не "ООП"-шные статические методы.
                        Ответить
                    • Нидл, а есть вообще годная ООП реализация чего угодно, кроме разве что виджетов?
                      Ответить
                      • С точки срения ООП может и есть.

                        Я против X-ориентированного программирования, я за выбор породигмы в зависимости от ситуации.
                        Ответить
                        • Я тоже так думаю

                          ООП это инструмент. Иногда он удобен, иногда нет.

                          Это как молоток. Им удобно забивать гвозди, но никто не скажет, что молоток всегда лучше зубной щетки: зубы-то им не почистишь
                          Ответить
        • Это вопрос для выявления поехавших. Вы, с моей точки зрения, абсолютно правы, и квадрат и треугольник должны наследоваться от какой-то более абстрактной структуры, например, геометрическая фигура.
          Ответить
      • Если бы был вопрос про произвольный четырёхугольник и треугольник, то можно было бы ответить, что треугольник — это вырожденный четырёхугольник, у которого одна сторона нулевой длины (две вершины совпадают).

        Квадрат же и треугольник в общем случае друг из друга никак не получить. Разве что можно распилить квадрат на два прямоугольных равнобедренных треугольника.
        Ответить
        • Сломается Принцип Подстановки Варвары Лисковой.

          def petuh(chetyrexugolnik):
             chetyrexugolnik.storony['shirina'] = 2
             chetyrexugolnik.storony['dlina'] = 1
          
          petuh(Trehugolnik()) # хуец
          Ответить
          • У произвольного четырёхугольника нужно задать четыре длины, а у некоторых ещё и угол, ибо только сторон недостаточно. Да, все четыре стороны могут быть разными.

            Если ты задаёшь только два размера (длину и ширину), то ты, вероятно, подразумеваешь частный случай: параллелограмм (тогда нужно задать ещё угол) или вообще прямоугольник. Да, прямоугольники (и параллелограммы вообще) в треугольники не вырождаются.
            Ответить
            • Откуда мне знать?
              Я программист, а не геометрик

              Кстати, сколько платят за геомтерию?
              Ответить
              • Хуевый ты программист, потому что не хочешь думать о предметной области перед тем как что-то сделать.
                Ответить
            • показать все, что скрытоЛишнехромосомный, любой простой четырехугольник определяется вот неожиданность! четыремя точками.
              Ответить
      • Ничто ни от чего.


        Есть файл и табуретка, что от чего занаследуешь, куда мать посадишь?
        Ответить
      • А давайте возьмем за примитив треугольник и будем все угольники представлять композицией треугольников
        Ответить
    • показать все, что скрытоУ свиней есть iPad, а у русских свиней только Крым
      https://www.youtube.com/watch?v=HXosZN6KMmM
      Ответить

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