• Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    @legoboy90
    Ничего страшного. Я скажу так - просто постарайся решить задачу другим способом. Если взять в пример язык Си - есть определяемый тип данных, структуры(в Psacal это вроде как "запись"(record) называется).

    Т е есть тип данных, с помощью которого мы можем поместить данные о каком-нибудь предмете обсуждения - скажем, фильмы: год, рейтинг, имя главного актера и т д. Важно тут уяснить сам момент - точно так же как ты создаешь целое число, ты описываешь структуру данных/записьи упаковываешь её в свой производный тип, но ты говоришь - "Эй, компилятор, мне нужно не число, символ, мне нужно создать мой новый тип данных, внутри него будут 3 целых числа и 1 строка; потом создай 3 объекта данных моего типа.". Т е ты породил новый тип данных. Это удобно, чем бегать за кучами переменных и выяснять как они соотносятся друг с другом, теперь информация о !каждом! фильме хранится в своём скомпанованном месте.
    А пойдем дальше - в языках, где есть сООП ты можешь делать класс - данные + функции. Это своего рода новый тип данных, содержащих не только значения, но и код(те же функции). Другими словами - мы создали структуру и запихали ещё и функции, чтобы в каждом объекте хранить ещё и код, который может работать с данными. Это и есть класс, на основе него ты создаешь новые объекты В чём преимущество? Возьмём наши фильмы. Например, будет очень удобно вызвать из объекта функцию, который ведёт диалог занесения информации о фильме и мы не пропустим ничего - название,год,актёр, рейтинг. Объект не создастся, пока мы не занесём полную информацию о нём. Или скажем, в нём будет функция, где она будет считать рейтинг провальным, если он ниже 5. Нам не нужно каждый раз дёргать объект, он сам анализирует данные и записывает в него же информацию.

    Считаю, что теорию по ООП нет смысла читать. Вот тот же Python - Билл Любанович "Python. Современный стиль программирования". Попробуй его, написано просто. В Python всё объект (в книге с первых глав всё это показывается и ничего там страшного нет). Самая практичная задача- подключись к zabbix и попробуй вытащить из него данные. Ощутишь ООП сразу. Схема простая и тупая - импортируешь модуль по работе с zabbix, потом ты инициализируешь объект(хост zabbix, логин, пароль). И ВСЁ! у тебя есть объект, через него ты работаешь, в нём всё уже есть (если аутентификация не прошла или невозможно подключится к хосту, то оъект не создастся, вот тебе пример ООП, что у объекта есть код помимо данных). Или другой пример - у того же Любановича есть пример с созданием файла конфига.(Config Parser). написано про него мало, тупо гуглишь. Короче - импорт модуля (какой-то дядька его написал), а ты просто импортиуешь модуль где уже есть этот "тип данных" (класс), а на основе него ты создаешь объекты и работаешь с ними. А потом дополни задачу себе сам - собирать данные из объектов в кучу и их обрабатывать. Вот тут ты и будешь писать классы=)
    Ответ написан
    Комментировать