Сохранен 90
https://2ch.su/b/res/164125580.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 01/11/17 Срд 23:07:38 #1 №164125580 
1507841628130.png
Я не понимаю ООП, анон.
То есть, в теории вроде ясно. Но вот когда начинаются все эти конструкторы, thisы - я впадаю в ступор. Нахуя вот нужен пустой конструктор?
Сможешь объяснить человеческим языком?
Аноним 01/11/17 Срд 23:12:14 #2 №164125940 
>>164125580 (OP)
>Сможешь объяснить человеческим языком?
Нет. Вон из професси.
Аноним 01/11/17 Срд 23:16:09 #3 №164126226 
>>164125940
Двачую.
Аноним 01/11/17 Срд 23:28:44 #4 №164127049 
Таааакая же хуйня.
Аноним 01/11/17 Срд 23:30:56 #5 №164127198 
>>164125580 (OP)
>Нахуя вот нужен пустой конструктор?
Чтобы был. Иначе как ты будешь создавать объект?
Аноним 01/11/17 Срд 23:34:06 #6 №164127368 
>>164125580 (OP)
Все уже перекатились на лабвью.
Аноним 01/11/17 Срд 23:35:14 #7 №164127431 
>>164125580 (OP)
Умные дяди вроде уже пояснили что ООП для петухов, форсед мем от эффективных менеджеров. Структы и методы, больше тебе нихуя не надо, ебашь код на си.
Аноним 01/11/17 Срд 23:37:13 #8 №164127554 
>>164127431
Фух, ну ладно.
Аноним 01/11/17 Срд 23:37:20 #9 №164127558 
1345751224639.png
>>164127431
>ебашь код на си
Аноним 01/11/17 Срд 23:37:58 #10 №164127607 
Раз уш такой тред. Не могу понять такой тонкости. Допустим у нас есть два объекта: двачер и шкаф. Мы должны создать метод у двачера по открытию шкафа и передать ему собственно шкаф. Или всё наоборот?
Аноним 01/11/17 Срд 23:38:41 #11 №164127644 
я понял ооп, когда написал тетрис с интерфейсом.

если с функциональным и поэтапно-процедурным подходом, мой код был похож на вонючее рыбное тянское говно, которое было непонятно всем даже мне.. то когда я стал писать тетрис в ооп-стиле, все стало ясно и понятно.. просто быстро. очевидно. быстро вспоминается..

например обьект клетка. у нее есть свойство картинка которая отображается на этой клетке.
Аноним 01/11/17 Срд 23:41:21 #12 №164127802 
>>164125580 (OP)
Чтоб ты его наполнил своим участием в процессе сборки. Я думаю так.
Хотя он так и останется пустым...
Аноним 01/11/17 Срд 23:42:26 #13 №164127857 
>>164125580 (OP)
Только что кино посмотрел из которого скрин на оппике.
Аноним 01/11/17 Срд 23:43:02 #14 №164127893 
>>164127644
>НИПАНЯТНА(
Может проблема в тебе?
Аноним 01/11/17 Срд 23:43:25 #15 №164127914 
>>164127607
>Мы должны
Как удобнее, так и делай.
Аноним 01/11/17 Срд 23:50:31 #16 №164128311 
>>164127644
> вонючее рыбное тянское говно
eto kak?
Аноним 01/11/17 Срд 23:52:34 #17 №164128446 
>>164125580 (OP)
Попробуй ФП, лол, вдруг взлетит.
А по существу, это довольно комплексные концепции. Лучше всего читнуть теорию по теме и просто начать что-то делать, постепенно понимание придёт. Сам так же ебался сначала с конструкторами, потом с интерфейсами, потом с лямбдами, потом с монадами, потом со стримами. А сколько ещё впереди. Жаль я вкатился очень поздно.
Аноним 01/11/17 Срд 23:55:40 #18 №164128622 
CY3VcpdUkAE9dum.png
>>164128446
>Лучше всего читнуть теорию по теме и просто начать что-то делать, постепенно понимание придёт.
Двачаю вот это.
Аноним 01/11/17 Срд 23:56:10 #19 №164128650 
>>164125580 (OP)
ОП, ты просто даун. Выкатывайся из программирования и никогда не возвращайся в эту область.
Аноним 01/11/17 Срд 23:57:19 #20 №164128729 
>>164128650
Петуха забыли спросить.
Аноним 01/11/17 Срд 23:59:07 #21 №164128846 
>>164127644
Ага, просто и понятно, и производительность - говно ебаное. Правильные поцоны используют ецс. По той же причине они используют обычный массив вместо линкед лист и прочей хуиты. Чем проще технология тем быстрее работает.
Аноним 01/11/17 Срд 23:59:35 #22 №164128868 
>>164128729
>пук
Аноним 01/11/17 Срд 23:59:53 #23 №164128888 
1343566211895.jpg
>>164128846
>производительность - говно ебаное
Аноним 02/11/17 Чтв 00:00:13 #24 №164128904 
>>164127558
Сейчас бы в 2к17 жрать полтора часа пока твой проект конпнлируется в крестах три часа в расте
Аноним 02/11/17 Чтв 00:00:57 #25 №164128956 
>>164128888
Начнёшь есть проекты посложнее тетриса - увидишь.
Аноним 02/11/17 Чтв 00:01:49 #26 №164129018 
>>164128956
Чем тебе объект производительность портит?
Аноним 02/11/17 Чтв 00:03:17 #27 №164129105 
В таких тредах всегда бывают читатели хабра, которые легко пояснят тебе за производительность, за правильность, да и ваще пояснят
Мимо, 16 лет опыта
Аноним 02/11/17 Чтв 00:03:52 #28 №164129137 
>>164128904
Мань, давно есть другие языки кроме си и си++. Даже те, которые вообще не надо компилировать. Да, они чуть медленнее, но для кнопучков в интерфейсе это похуй.
Аноним 02/11/17 Чтв 00:04:28 #29 №164129170 
>>164129105
Традиции двачей.
sageАноним 02/11/17 Чтв 00:05:28 #30 №164129241 
>>164128446
Да. ещё забыл добавить на тему "читнуть теории" - вполне верятно, что читнув теорию ты нихуя не поймёшь. Как, например, описание того, что ткаое интерфейс. Охулион статей на эту тему, но все они сводятся к одному и тому же. Но сделано это не от того, что никто не может объяснить на пальцах, а от того, что это уже и так на пальцах и как-то более доходчиво не объяснить. И понять ты это сможешь только начав использовать эти самые интерфейсы на практике дерэа в олове какую-то теорию. И водин момент вдруг поймёшь, что всё на самом деле так и есть, как описано в той ёбаной куче постов в бложиках, которые ты нагуглил. И сам бы ты теперь точно так же объяснял это "на пльцах".
Аноним 02/11/17 Чтв 00:06:20 #31 №164129294 
>>164129241
Сажа приклеилась
Аноним 02/11/17 Чтв 00:06:39 #32 №164129315 
>>164128846

Байтоеб порвался. Следить за кучей дыр в коде вместо того, чтобы использовать то, что сто раз отлажено тысячам людей. Настоящее говноедство.
Аноним 02/11/17 Чтв 00:07:12 #33 №164129354 
1502547735952.png
>>164129241
Всю жизнь у меня такой способ изучать что-то новое в кодинге. Я думал, что я один такой даун, а все вокруг сходу понимают.
Аноним 02/11/17 Чтв 00:09:22 #34 №164129508 
>>164129105

Дроч на производительность это самый явный признак восторженного нюфани.
Аноним 02/11/17 Чтв 00:10:39 #35 №164129592 
>>164129354
Я обычно пиню вкладку с непонятной хуйтой, где оно наиболее подробно описано, и периодически возвращаюсь и перечитваю. пока не допру, лол. Как-то раз простыня со стэкпириполнен по сримам akka с месяц так висела.
Аноним 02/11/17 Чтв 00:11:52 #36 №164129654 
>>164125580 (OP)
>пустой конструктор
Имеешь в виду без параметров?
Аноним 02/11/17 Чтв 00:12:54 #37 №164129732 
>>164129654
Оп просто описал себя
Аноним 02/11/17 Чтв 00:13:01 #38 №164129745 
>>164129654

Да не, можно сделать просто пустой конструктор. Если тебе не нужно ничего предопределять при создании, например.
Аноним 02/11/17 Чтв 00:16:30 #39 №164129945 
>>164125580 (OP)
Ты еблан? Не можешь просто запомнить? Ты не понимаешь, как запоминать последовательности букв?
Аноним 02/11/17 Чтв 00:22:28 #40 №164130251 
>>164129745
Это все ясно, просто, может, терминология какая специфическая используется ОПом
Аноним 02/11/17 Чтв 00:24:34 #41 №164130356 
>>164129745
типа того
public class IdiNahui {
public IdiNahui() {}
IdiNahui nahui= new IdiNahui();
}
Аноним 02/11/17 Чтв 00:26:30 #42 №164130476 
>>164130356
У тебя тут бесконечная рекурсия. Так что нахуй иди.
Аноним 02/11/17 Чтв 00:30:00 #43 №164130671 
>>164130476
Какая еще рекурсия? Посмотри тут, например. http://www.isr.umd.edu/~austin/ence688r.d/java-basics/appl-complex1.d/Complex.java
>public Complex Div( Complex cB ){
>Complex div = new Complex();
>div.dReal = (dR x dReal + dImaginary)/dDen;
>div.dImaginary = (dR x dImaginary - dReal)/dDen;
>return (div);}
Хуй знает, как это работает. Я запутался.
Аноним 02/11/17 Чтв 00:31:40 #44 №164130783 
>>164130671
Я проебал закрывающую фигурную скобку после конструктора, думал что присваивание внутри. Прости пожалуйста.
Аноним 02/11/17 Чтв 00:33:02 #45 №164130847 
>>164130671
ты шо, гонишь?
Аноним 02/11/17 Чтв 00:33:51 #46 №164130898 
>>164130847
Не гоню, решил вкатиться в ООП называется.
Аноним 02/11/17 Чтв 00:40:41 #47 №164131302 
>>164127644
>например обьект клетка. у нее есть свойство картинка которая отображается на этой клетке.
Объект на каждую клетку? Не пробовал растровый редактор запилить, типа фотошопа?
Аноним 02/11/17 Чтв 00:41:39 #48 №164131362 
coding2.png
coding3.png
coding.jpg
>>164125580 (OP)
Сеим шит ОП, но у меня все еще хуже.
Вроде все инструменты дали, все выучил.
Но когда приходит время писать код, туплю и не знаю как все это блять реализовать.
Чо за нахуй.
Аноним 02/11/17 Чтв 00:43:57 #49 №164131498 
>>164130476
Да похуй, главное что компилируется быстро, а юзер оперативочки добавит.
Аноним 02/11/17 Чтв 00:44:55 #50 №164131556 
>>164131498
Да похуй, потом пофикшу
Аноним 02/11/17 Чтв 00:57:36 #51 №164132332 
>>164125580 (OP)
Что значит пустой конструктор? Жай контекст задачи и сформулируй вопрос. Что именно а ООП тебе непонятно? Что-то в реализации?
Аноним 02/11/17 Чтв 01:00:23 #52 №164132509 
>>164125580 (OP)
Самое главный скилл в программировании - умение выделять правильные абстракции.
Аноним 02/11/17 Чтв 01:00:28 #53 №164132512 
>>164132332
--->
>>164130356
>>164130671
Аноним 02/11/17 Чтв 01:05:47 #54 №164132781 
>>164130671
Тут вообще нет конструкторов, етсь метод "public Complex Div( Complex cB )"

В жабе конструктор есть всегда. Если ты его не указал, он сам сгенерится дефолтный без аргументов public IdiNahui() {}. Но тебе не всегда надо давать доступ к контсруктору человеку, который использует написанный тобой класс. Например если создание экземпляра осуществляется с помощью фабричных методов. Тогда ты явно указываешь дефолтный конструктор и делаешь его private: private IdiNahui() {}. Тогда экземпляр класса более никак не получить (сейчас мы не говорим о reflection и прочем). кроме как с помощью фабричных методов. которые ты предоставляешь.
Аноним 02/11/17 Чтв 01:07:17 #55 №164132854 
>>164132781
>Тут вообще нет конструкторов
Там их два по ссылке.
Аноним 02/11/17 Чтв 01:09:36 #56 №164132984 
>>164132512
В этом примере ты обьявляешь класс с единственным методом - методом создания экземпляра класса (конструктором) и в этом методе ты создаешь новый экземпляр с помощью метода по умолчанию (конструктора), который вызывает метод по умолчанию (конструктор), который вызывает...

Понял? Это называется рекурсия - метод (или функция), который в ходе выполнения вызывает сам себя.

Если специальным образом не указать условия выхода из рекурсии, то она считается бесконечной.
Аноним 02/11/17 Чтв 01:11:47 #57 №164133073 
>>164132984
Нет там рекурсии.
Аноним 02/11/17 Чтв 01:15:49 #58 №164133272 
полтора года назад ливнул с работы где получал двушку зелени
все это время курил траву и играл в дота2
сейчас снова пытаюсь вкатиться в работу
я наверное тут самый успешный
Аноним 02/11/17 Чтв 01:17:32 #59 №164133360 
>>164125580 (OP)
>Нахуя вот нужен пустой конструктор?
чтобы ты ахуевал, анон
Аноним 02/11/17 Чтв 01:19:52 #60 №164133487 
>>164133272
>дота2
Ты тут самый долбоеб.
Аноним 02/11/17 Чтв 01:21:22 #61 №164133566 
>>164133487
го 1 на 1 на чорных или зассал
люксимбург, пароль zxc
жду
Аноним 02/11/17 Чтв 01:26:51 #62 №164133829 
>>164125580 (OP)
Суть ООП - это удобство.

Все в твоем проекте состоит из объектов. У каждого объекта могут быть свои параметры и методы (функции).
Ты можешь создать какие угодно объекты (классы) и оперировать ими как тебе хочется, но тогда когда это нужно, естественно.

У тебя есть игра и тебе нужно добавить юнитов в игровой мир, каждый юнит - объект, с параметрами: здоровье, местоположение, функция передвижения.
В помощью процедурного программирования ты заебешься, потому что адекватно хранить объекты юнитов просто негде, разве что в массиве, но это говно, ибо нет ни методов, ни наследования, нихуя.

Это все, что тебе нужно знать, а дальше не лезь дебил сука ебаный
Аноним 02/11/17 Чтв 01:26:57 #63 №164133834 
1501306829050.jpg
Аноним 02/11/17 Чтв 01:27:06 #64 №164133845 
>>164125580 (OP)
Короче, если ты понял суть ООП, то твой код начинает документировать сам себя.

Посмотри на уровень доступа: public, private, protected?
Если, например, пустой конструктор - private, то автор кода как бы намекает тебе, что нехуй в конструктор что-либо писать.
Аноним 02/11/17 Чтв 01:28:10 #65 №164133894 
>>164133829
Лол, я всё это понимаю. Но не понимаю, например, что за хуйня происходит тут ---> >>164130671
Особенно в методе Div.
Аноним 02/11/17 Чтв 01:29:24 #66 №164133954 
>>164133829
хранить то хуйня, можно и в массиве
а вот задать им различное в нюансах, но схожее в общих чертах состояние и поведение - эт уже да.
Аноним 02/11/17 Чтв 01:30:21 #67 №164133999 
>>164128846
>правильные поцоны используют ецс
>обычный массив вместо линкед лист
сейчас бы не отличать асимптотические и неасимптотические оптимизации и не знать алгоритмы на базовом уровне
всегда горело с маня-программистов,
которые придумывают свои костыльные велосипеды, например, в простой задаче на динамику или дерево отрезков
Аноним 02/11/17 Чтв 01:30:42 #68 №164134016 
>>164133894
я в душе не ебу, что там за язык, но ты, бля, читай код, а не задавай вопросы!

У тебя есть функция div, которая возвращает "не-примитивный", сложный, КОМПЛЕКСНЫЙ ОБЪЕКТ, блять, структуру - не ебу, что за язык и как это там называется.
Функция вычисляет значения двух переменных, пишет их в свойства объекта.
Дальше ты кормишь этим свою мамашу.
Аноним 02/11/17 Чтв 01:31:57 #69 №164134073 
>>164133894
>public Complex Div( Complex cB ){
>Complex div = new Complex();

С помощью метода Div создается экземпляр класса Complex и сохраняется в переменную div класса Complex
Аноним 02/11/17 Чтв 01:34:49 #70 №164134229 
>>164125580 (OP)
ну кароч класс ето шаблон а объект это реальная хуйня построенная по шаблону
this это способ для объекта обращатсья к самому себе
Аноним 02/11/17 Чтв 01:35:33 #71 №164134276 
Меня больше массивы бесят, сука. Ещё их ебаное начало с 0. Хуярю игру, начинаю ебашить объекты в массивы, а им нужно точное значение задавать, много памяти расходовать не охота, а чуть что - вышел за границы, ссука нахуй.
Аноним 02/11/17 Чтв 01:35:51 #72 №164134292 
>>164134229
>обращатсья к самому себе
нахуя?
Аноним 02/11/17 Чтв 01:36:30 #73 №164134336 
>>164125580 (OP)
Нахуя тебе пpогpаммиpование вообще? Съеби, не занимай pынок.
Аноним 02/11/17 Чтв 01:37:14 #74 №164134366 
15071267885570.jpg
>>164133566
>го 1 на 1 на чорных или зассал
>люксимбург, пароль zxc
>жду
Аноним 02/11/17 Чтв 01:37:20 #75 №164134368 
>>164134292
ну не к тебе же уебану обращаться в случае чего
Аноним 02/11/17 Чтв 01:37:25 #76 №164134373 
>>164134292
чтобы иметь доступ не к абстрактным полям и методам а к конкретным этого вот экземпляра
Аноним 02/11/17 Чтв 01:38:08 #77 №164134408 
>>164134336
Какой рынок он занимает, мань? Найти толкового жуниора не проще, чем толкового сениора. У сениора хотя бы рекомендации и знакомые из приличных компаний есть.
Аноним 02/11/17 Чтв 01:38:21 #78 №164134416 
>>164134336
Петуха забыть спросили.
Аноним 02/11/17 Чтв 01:41:27 #79 №164134553 
>>164134408
Так в пеpспективе, же.
Аноним 02/11/17 Чтв 01:51:33 #80 №164134962 
>>164132854
Там они оба требуются потому что. Если бы был определён только конструктор с параметрами, он был бы единственным дефолтным конструктором, а там далее по коду используется и контсруктор без параметров.

public class Run {

class Test {
protected String g;
public Test(String g){
this.g = g;
}
}

{
Test t1 = new Test("hui");
Test t2 = new Test(); - никампилится
}
}
Аноним 02/11/17 Чтв 01:52:02 #81 №164134986 
>>164125580 (OP)
почитай карделли и лисков, они нормально про ооп распедалили.
Аноним 02/11/17 Чтв 01:52:16 #82 №164135000 
>>164134962
Разметка проебалась
Аноним 02/11/17 Чтв 01:54:33 #83 №164135113 
>>164134962
Понял. Наконец-то кто-то без выебонов пояснил, спасибо :з
Аноним 02/11/17 Чтв 01:56:33 #84 №164135204 
>>164127644
шьерт, я тетрис писал еще на дискетах вербатим через int21h
Аноним 02/11/17 Чтв 02:06:31 #85 №164135647 
>>164135113
На здоровье. Вот ещё совет для вкатывающегося - поставь IntelliJIDEA и кодь в ней. У неё охуенная поддержка жабы, всякие фишки может подсказать, какие-то неочевидные не первых парах неоптимизированные вещи оптимизирвоать и прочее. Код можно корректно форматировать по ctrl+alt+L, что немаловажно. Можно нагуглить анальные настрокий линтера или какой плагин, чтобы кодстайл оно тебе исправляло. Реально помогает на первых порах всякие мелочи исправлять, а п отом оно само в привычку входит. Лучше чем учить ебенячих размеров гайды по кодстайлу.
Аноним 02/11/17 Чтв 02:07:22 #86 №164135685 
>>164134408
Рынок жуниоров. Именно поэтому хер ты найдешь толкового жуниора, что приходят такие хипстеры которые даже ООП не могут, а ты сиди их собеседуй.
Аноним 02/11/17 Чтв 02:13:30 #87 №164135934 
>>164125580 (OP)
Про конструктор в любой книжке написано. Он нужен именно для того, чтобы показать компилятору, что ты создаешь объект с полным набором фич. То бишь - закрытыми от потных ручек макак внутренними методами и переменными. И конпелятор за этим свято начинает следить.
Аноним 02/11/17 Чтв 02:16:35 #88 №164136052 
>>164134276
Так нумеруй с 1. Блять, программирование для людей создавали, а не наоборот. В 0 элемент можешь ливер какой засунуть для пафоса.
Аноним 02/11/17 Чтв 02:18:32 #89 №164136119 
>>164136052
>Блять, программирование для людей создавали, а не наоборот.
Учу ассемблер и мне кажется, что ты не прав.
Аноним 02/11/17 Чтв 02:24:23 #90 №164136334 
15095759248920.png
>>164134073
>мое лицо, когда десктопный питух пытается тег div обернуть в свою туалетную бумагу терминов и абстракций

мимо веб макака
comments powered by Disqus