Я не понимаю ООП, анон. То есть, в теории вроде ясно. Но вот когда начинаются все эти конструкторы, thisы - я впадаю в ступор. Нахуя вот нужен пустой конструктор? Сможешь объяснить человеческим языком?
>>164125580 (OP) Умные дяди вроде уже пояснили что ООП для петухов, форсед мем от эффективных менеджеров. Структы и методы, больше тебе нихуя не надо, ебашь код на си.
Раз уш такой тред. Не могу понять такой тонкости. Допустим у нас есть два объекта: двачер и шкаф. Мы должны создать метод у двачера по открытию шкафа и передать ему собственно шкаф. Или всё наоборот?
если с функциональным и поэтапно-процедурным подходом, мой код был похож на вонючее рыбное тянское говно, которое было непонятно всем даже мне.. то когда я стал писать тетрис в ооп-стиле, все стало ясно и понятно.. просто быстро. очевидно. быстро вспоминается..
например обьект клетка. у нее есть свойство картинка которая отображается на этой клетке.
>>164125580 (OP) Попробуй ФП, лол, вдруг взлетит. А по существу, это довольно комплексные концепции. Лучше всего читнуть теорию по теме и просто начать что-то делать, постепенно понимание придёт. Сам так же ебался сначала с конструкторами, потом с интерфейсами, потом с лямбдами, потом с монадами, потом со стримами. А сколько ещё впереди. Жаль я вкатился очень поздно.
>>164127644 Ага, просто и понятно, и производительность - говно ебаное. Правильные поцоны используют ецс. По той же причине они используют обычный массив вместо линкед лист и прочей хуиты. Чем проще технология тем быстрее работает.
>>164128904 Мань, давно есть другие языки кроме си и си++. Даже те, которые вообще не надо компилировать. Да, они чуть медленнее, но для кнопучков в интерфейсе это похуй.
>>164128446 Да. ещё забыл добавить на тему "читнуть теории" - вполне верятно, что читнув теорию ты нихуя не поймёшь. Как, например, описание того, что ткаое интерфейс. Охулион статей на эту тему, но все они сводятся к одному и тому же. Но сделано это не от того, что никто не может объяснить на пальцах, а от того, что это уже и так на пальцах и как-то более доходчиво не объяснить. И понять ты это сможешь только начав использовать эти самые интерфейсы на практике дерэа в олове какую-то теорию. И водин момент вдруг поймёшь, что всё на самом деле так и есть, как описано в той ёбаной куче постов в бложиках, которые ты нагуглил. И сам бы ты теперь точно так же объяснял это "на пльцах".
>>164129354 Я обычно пиню вкладку с непонятной хуйтой, где оно наиболее подробно описано, и периодически возвращаюсь и перечитваю. пока не допру, лол. Как-то раз простыня со стэкпириполнен по сримам akka с месяц так висела.
>>164127644 >например обьект клетка. у нее есть свойство картинка которая отображается на этой клетке. Объект на каждую клетку? Не пробовал растровый редактор запилить, типа фотошопа?
>>164125580 (OP) Сеим шит ОП, но у меня все еще хуже. Вроде все инструменты дали, все выучил. Но когда приходит время писать код, туплю и не знаю как все это блять реализовать. Чо за нахуй.
>>164130671 Тут вообще нет конструкторов, етсь метод "public Complex Div( Complex cB )"
В жабе конструктор есть всегда. Если ты его не указал, он сам сгенерится дефолтный без аргументов public IdiNahui() {}. Но тебе не всегда надо давать доступ к контсруктору человеку, который использует написанный тобой класс. Например если создание экземпляра осуществляется с помощью фабричных методов. Тогда ты явно указываешь дефолтный конструктор и делаешь его private: private IdiNahui() {}. Тогда экземпляр класса более никак не получить (сейчас мы не говорим о reflection и прочем). кроме как с помощью фабричных методов. которые ты предоставляешь.
>>164132512 В этом примере ты обьявляешь класс с единственным методом - методом создания экземпляра класса (конструктором) и в этом методе ты создаешь новый экземпляр с помощью метода по умолчанию (конструктора), который вызывает метод по умолчанию (конструктор), который вызывает...
Понял? Это называется рекурсия - метод (или функция), который в ходе выполнения вызывает сам себя.
Если специальным образом не указать условия выхода из рекурсии, то она считается бесконечной.
полтора года назад ливнул с работы где получал двушку зелени все это время курил траву и играл в дота2 сейчас снова пытаюсь вкатиться в работу я наверное тут самый успешный
Все в твоем проекте состоит из объектов. У каждого объекта могут быть свои параметры и методы (функции). Ты можешь создать какие угодно объекты (классы) и оперировать ими как тебе хочется, но тогда когда это нужно, естественно.
У тебя есть игра и тебе нужно добавить юнитов в игровой мир, каждый юнит - объект, с параметрами: здоровье, местоположение, функция передвижения. В помощью процедурного программирования ты заебешься, потому что адекватно хранить объекты юнитов просто негде, разве что в массиве, но это говно, ибо нет ни методов, ни наследования, нихуя.
Это все, что тебе нужно знать, а дальше не лезь дебил сука ебаный
>>164125580 (OP) Короче, если ты понял суть ООП, то твой код начинает документировать сам себя.
Посмотри на уровень доступа: public, private, protected? Если, например, пустой конструктор - private, то автор кода как бы намекает тебе, что нехуй в конструктор что-либо писать.
>>164128846 >правильные поцоны используют ецс >обычный массив вместо линкед лист сейчас бы не отличать асимптотические и неасимптотические оптимизации и не знать алгоритмы на базовом уровне всегда горело с маня-программистов, которые придумывают свои костыльные велосипеды, например, в простой задаче на динамику или дерево отрезков
>>164133894 я в душе не ебу, что там за язык, но ты, бля, читай код, а не задавай вопросы!
У тебя есть функция div, которая возвращает "не-примитивный", сложный, КОМПЛЕКСНЫЙ ОБЪЕКТ, блять, структуру - не ебу, что за язык и как это там называется. Функция вычисляет значения двух переменных, пишет их в свойства объекта. Дальше ты кормишь этим свою мамашу.
Меня больше массивы бесят, сука. Ещё их ебаное начало с 0. Хуярю игру, начинаю ебашить объекты в массивы, а им нужно точное значение задавать, много памяти расходовать не охота, а чуть что - вышел за границы, ссука нахуй.
>>164134336 Какой рынок он занимает, мань? Найти толкового жуниора не проще, чем толкового сениора. У сениора хотя бы рекомендации и знакомые из приличных компаний есть.
>>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(); - никампилится } }
>>164135113 На здоровье. Вот ещё совет для вкатывающегося - поставь IntelliJIDEA и кодь в ней. У неё охуенная поддержка жабы, всякие фишки может подсказать, какие-то неочевидные не первых парах неоптимизированные вещи оптимизирвоать и прочее. Код можно корректно форматировать по ctrl+alt+L, что немаловажно. Можно нагуглить анальные настрокий линтера или какой плагин, чтобы кодстайл оно тебе исправляло. Реально помогает на первых порах всякие мелочи исправлять, а п отом оно само в привычку входит. Лучше чем учить ебенячих размеров гайды по кодстайлу.
>>164134408 Рынок жуниоров. Именно поэтому хер ты найдешь толкового жуниора, что приходят такие хипстеры которые даже ООП не могут, а ты сиди их собеседуй.
>>164125580 (OP) Про конструктор в любой книжке написано. Он нужен именно для того, чтобы показать компилятору, что ты создаешь объект с полным набором фич. То бишь - закрытыми от потных ручек макак внутренними методами и переменными. И конпелятор за этим свято начинает следить.
То есть, в теории вроде ясно. Но вот когда начинаются все эти конструкторы, thisы - я впадаю в ступор. Нахуя вот нужен пустой конструктор?
Сможешь объяснить человеческим языком?