Сап двач, я немного наверное расстяну свое обьяснение и сам вопрос, но ты пожалуйста выслушай. У меня сейчас плато. И я не знаю как из него выбраться. Дело в том, что я любтель и изучил питон через ютаб. Долгое время я просто потихоньку прогал на нем свои штуки. Типа графиков, статистических распределений, простые алгоритмы по комбинаторике, обучению с подкреплением, стохастические спуски и тд. Для этого не особо требовался ООП. Но теперь вещи которые я хочу имплементировать становятся крайне многослойными. Надо уже создавать обьекты. Но я их боюсь и не понимаю. И это плато меня просто гнетет. Естесн ютабы никак не помогают ведь там всегда обучают азам, но они никогда не вдаются в подробности и инсайды. Я то знаю как создать один обьект, но как заготовить план, как создать нужные пару обьектов, которые взаимодействовали бы между собой, как не потеряться в этой абстракции я не понимаю. Даже сложно обьяснить. Я не могу перескочить этот уровень. Не могу сделать свои знания конкретными и широкими, если вы понимаете о чем я. Помогите плиз, тут много на дваче хороших кодеров. Что мне почитать, что мне скачать. И как можно сделать это в течении года, если посоветуете книгу можете посоветовать именно главы. Я очень устал жевать теорию, хочу уже практиковаться.
Если не можешь а на самом деле не хочешь найти инфу самостоятельно то поздравляю, программирование это не для вас. >питон Ну тут без коментариев >ООП эта штука которая быстро не изучается, тут нужно глубокое понимание зачем оно нужно и как оно работает. >я не понимаю Так нужно понять, лол! С первого раза не получилось, получится с 500ого. Тут лёгкого пути нет, только поглощение всей инфы по теме пока понятно не станет
>>254208214 >Если не можешь а на самом деле не хочешь найти инфу самостоятельно то поздравляю, программирование это не для вас. этим я и занимаюсь сейчас ну посоветуй по каким материалам ты лично сам изучал ООП
>>254208263 причем тут конкуренция? мне просто инфа нужна для себя.
>>254207549 (OP) Так это проблема питона. Питон как таковой - плохой язык для познания ООП, но ты можешь попробовать. Просто гугли основные принципы ООП и попробуй их применить в своих проектах.
>>254207549 (OP) Какое ооп в питоне? Учи джаву. Материалы не знаю, всё подряд в англоязычном и русском ютубе по ооп, ооп учится сразу же вместе с паттернами, ну грубо говоря это вообще неразрывные вещи. По ним можно прочитать классическую книжку gof. >>254208747 Ну 2 часа и чего, это же мелочь, сайтов не знаю, те кто пилит контент сейчас, делает это на ютуб. Учись сразу отбирать годноту от кала. Ну и подбирать годноту себе под уровень понимания. Вот например тупо мфтишный курс по ооп на плюсах https://youtube.com/playlist?list=PL4_hYwCyhAvaZpaXa8FL24nwcPdS8PPA9 Он хороший, наверное, потому что у этого препода норм курсы, но там плюсы и возможно сложно для тебя.
>>254208899 >Он хороший, наверное, потому что у этого препода норм курсы, но там плюсы и возможно сложно для тебя. ну я в свое время изучал примерно как работает железо, память, центральный процессор, ALU кэш память и тд итд. Что еще нужно для плюсов? И еще вопрос, не смейся ток, но на плюсах есть эммм библиотеки для постройки графиков как в R?
>>254208358 > ну посоветуй по каким материалам ты лично сам изучал ООП Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development 3rd Edition by Creig Larman
>>254207549 (OP) Выкинь к хуям свой питухон со своими маняграфиками, и сделай обычный ебаный блог на обычном ебаном фреймворке из пыха/шарпа/явы. Архитектура - это больше бизнес-логика чем математика, и в этих фреймворках ее продумали до тебя хуилион человек в течение 20 лет.
>>254207549 (OP) Сложно сказать по каким именно я учился, до сих пор веду споры с коллегами уровня - что на самом деле такое полиморфизм и когда действительно надо инкапсулировать объект. А также когда ООП вообще не надо использовать, я тебе честно скажу даже боевые проекты хорошей стоимостью могу быть написаны без кастомных классов.
Я примерно так делал - делал задачи, выполняя как минимум одно условие из определения. Наследование проще всего, сделай например базу данных людей, а потом сделай из них детей, школьников, студентов, работников и пенсионеров. Причем подумав ты поймешь что не каждый из них прямо наследуется от класса человек. И тд.
И все добивается только практикой. Надоест учебные задачки - реши просто любую другую, создавая кривые неправильные классы и объекты, а затем сам изменяй свой код добавляя новое и потом поймешь почему это неправильно.
отойди от своих статестических штук (там разбиение на классы для новичка пожалуй менее интуитивно) и напиши простую консольную игруху или вообще что-то с гуи, где классы будут как в реальной жизни классы, через силу через боль, через непонимание, просто сри кодом, чем-то похожим на твое понимание ооп
получится говно
отрефактори
получится говно но на эпсилон меньше
ну так часов 50-100 кодинга и разберешься
а потом можно чистую архитектуру прочитать, там идеология ооп норм разжевана
>>254207549 (OP) Не бойся, анон. Дело не в тебе, если ты не можешь понять зачем тебе ООП, значит оно тебе не нужно. Делай такую архитектуру которая удобна и понятна тебе
>>254212078 Кстати еще советую попробовать разные языки. Я сейчас и сам на мерзком питоне прогаю, уж такие задачи, но понять как устроен си/плюсы или шарп/джава тоже будет неплохо.
Там как раз много всего веселого с ООП можно найти, и с понимание что такое класс, объект, абстракция, работа с памятью и зачем все что выше устроенно именно так как устроено. Для старта на мой взгляд лучше всего шарп и потом разворачивать от него назад по истории
Вбей в гугле основы объектно-ориентированного программирования и полиморфизма на питоне. В нем это очень удобно и довольно понятно реализовано. За язык холивар поднимать смысла нет это ведь не JS))
Попробуй для начала создавать какие-то очень простые программы/что угодно в стиле ООП. Потом можешь переходить на что-то сложнее.
Самый простой пример: абстрактный класс "говно", в котором будет переменная "вонь" и метод "запустить говно". И несколько конкретных классов: "говно после дошика", "говно после мороженого", "говно после супа от бати". В них, к примеру, переменная будет иметь другое значение переменной. Ну а метод запуска говна будет наследоваться с абстрактного класса. Далее создаём на основе этих классов несколько объектов - говно1, говно2, говно3. Ну и "запускаем" их по очереди, и смотрим, какое значение переменной у каждого.
>>254207549 (OP) Ты выучился до уровня совкового информатика из 80х. Где ты сидел и на С писал гавнюньки всякие. А сейчас всё. Ты можешь за 1-2 месяц покодить и на Шарпе, и на Питоне, и на JS. И это всё на одном проекте. Сейчас язык это инструмент. Его не нужно учить. Ты должен сразу всё знать. Из школы и вуза.