Python

ООП, правильно ли мое понимание?

Здравствуйте. Давно понял, что такое ООП. Речь пойдет ЯП - Пайтон.
Могу ли я считать ООП переписание, например, змейки, на отдельные функции. Возьмём не рабочий, а лишь логический пример.
Функция 1:
Реализация самой змейки
Функция 2:
Логика
И другое.
Нет, функции - это не ООП. ООП - это когда данные (поля) и все функции, непосредственно работающие с этими данными (методы), объединены в одну сущность - объект. А сама программа создаётся как взаимодействие составляющих её объектов.

И совершенно неважно, сколько файлов у тебя будет. Дело не в файлах, а в том, что программа должна быть разделена на логически независимые части-объекты. Так, чтобы изменение кода внутри одного объекта никак не влияло на работу всех прочих объектов.

Например, первый объект занимается вводом с клавиатуры и передаёт информацию об изменении направления движения объекту, управляющему состоянием змейки. Объект, управляющий состоянием змейки, хранит положение каждого сегмента змейки на игровом поле, управляет изменением длины и положения змейки и при изменении положения головы / хвоста передаёт эту информацию объекту, который отрисовывает змейку на экране.

При этом первый объект вообще не знает, что такое "змейка", а второй объект не знает, что такое экран - только размер игрового поля.
*_
*на*сайте*___*kg*boy* _
70 309
Лучший ответ
Андрей Богдашкин Сущность объект может состоять из функций и скажем структуры данных, или блока с переменными.
Объектно-ориентированное программирование (сокращенно ООП) — это парадигма разработки программных систем, в которой приложения состоят из объектов. Объекты — это сущности, у которых есть свойства и поведение.
JaiCap .
JaiCap .
84 543
Нуржан Кадирсизов Если, к примеру, код у меня будет состоять из 7 файлов, состоящих из кода. 6 из 7 исходников будут являться полноценными системами. Седьмая будет вызывать другие файлы, которые в итоге будут являться программой. Это и есть ООП? после я обязательно почитаю книгу, связанную с ООП, но, я лишь хочу спросить, верно ли это утверждение.
нет, растащить код по функциям - это не объектно-ориентированное программирование.

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

основная мощь, предоставляемая объектно-ориентированным программированием - это инкапсуляция, наследование и полиморфизм. эти три кита делают использование объектов целесообразным. если бы объекты "ужик" и "питончик" были наследниками объекта "змейка", и содержали бы в себе какие-то разные модели поведения при втыкании в объекты "яблоко" или "мышка" (наследники объекта "добыча"), то это всё имело бы смысл, а так...
*на*сайте*___*kg*boy* _ При наличии композиции наследование не требуется.
есть статья в вики
Объектно-ориентированное программирование
там всё расписано!
---
"Могу ли я считать "
Да, это гарантировано конституцией
правильно ли твоё мнение? нет
--
одна из существенных черт программирования - четкие правила.
ну типа, в питоне это как бы просто красивая структуризация кода, ничего больше