|
29 / 24 / 5
Регистрация: 25.12.2018
Сообщений: 607
|
|
Одни говорят что класс это объект, другие, что класс-это шаблон объекта, дак что такое объект?10.06.2020, 10:11. Показов 5452. Ответов 9
Вот читаю и википедию, и на форумах, одни пишут, что класс, это шаблон по которому создается объект, другие пишут, что класс может быть или не быть объектом, третьи пишут, что класс-это всегда объект.
0
|
|
| 10.06.2020, 10:11 | |
|
Ответы с готовыми решениями:
9
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? Что такое объект, класс, метод? Шаблонный класс что это такое? |
|
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
|
||||||
| 10.06.2020, 11:09 | ||||||
|
Класс — тип, описывающий устройство объектов. Объект — это экземпляр класса. Класс можно сравнить с чертежом, по которому создаются объекты.
Но в то же время класс тоже является объектом стандартного Так как в Python понятия тип объекта и класс объекта - это синонимы, то это можно увидеть при помощи функции type.
1
|
||||||
|
29 / 24 / 5
Регистрация: 25.12.2018
Сообщений: 607
|
|
| 10.06.2020, 11:25 [ТС] | |
|
Я это читал, спасибо что скопировали и вставили сюда текст. А мой вопрос вы, явно, прочитали не весь.
0
|
|
|
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
|
|||||
| 10.06.2020, 11:30 | |||||
|
1
|
|||||
| 10.06.2020, 14:41 | |
Сообщение было отмечено Чеволек Павук как решение
Решение
Чеволек Павук, ООП это способ моделировать реальный мыслительный процесс человека (хотя некоторые используют ООП формально, не вникая в его реальную сущность). Объектно ориентированные языки появились уже давно, я сейчас даже и не упомню названия их всех.
Вот здесь перечислен список языков программирования в той или иной степени использующие ООП. https://ru.qwe.wiki/wiki/List_... _languages Как видите их огромное количество. Я уже несколько раз на этом форуме объяснял, что такое ООП. Сейчас поищу в своих комментариях и выложу здесь. Добавлено через 1 час 4 минуты Чеволек Павук, Я уже столько наклепал комментариев, что что-то найти проблематично. Поэтому напишу по новой. ![]() Все, что мы наблюдаем в окружающем нас мире, это объекты и действия их или над ними. Надеюсь Вы пользуетесь стульями? Стул это объект. Так же в нашем сознании он также является объектом. Объект нашего сознания, это отображение объекта реального мира. В реальности Вы не можете собрать вместе все стулья, с которыми Вы когда то сталкивались в реальной жизни. Однако наш мозг обладает способностью запоминать образы объектов и позже вызывать их в памяти. Что позволяет их сравнивать и находить общие черты. (свойства). Объекты обладающие одинаковыми свойствами мы мысленно объединяем в один класс. Например класс стульев. Основной признак стула, что мы можем на нем сидеть. Например поваленное дерево в лесу, тоже может использоваться как стул. Но одновременно оно является деревом, со своими специфическими свойствами, то есть одновременно принадлежит классу деревьев. В первых ООП языках было ветвление только вниз. Хотя в реальности, как мы видим ветвление может быть и вверх. В питоне ветвление и вниз и вверх. Один класс может не только иметь подклассы, но и являться подклассом нескольких суперклассов. Например, для класса стульев существуют подклассы Стулья деревянные, Стулья пластмассовые, стулья металлические и так далее. В свою очередь класс стульев является подклассом класса Мебель. Но классы, это объекты нашего мышления. Вы не можете наблюдать класс в реальности, а только отдельные объекты этого класса. Например конкретный стул, на котором Вы сидите за компьютером. В питоне, конкретные объекты принадлежащие некоторому классу, называются экземплярами этого класса. Но принадлежит реальный объект какому либо классу, мы судим сравнивая его свойства со свойствами других объектов принадлежащих этому классу. У нашего разума есть такая особенность, когда мы начинаем думать о классе объектов в реальном мире, мы начинаем мысленно перебирать в памяти объекты, принадлежащие этому классу. И фиксировать те свойства, которые являются общими для всех этих реальных объектов. И вот тут формируется в нашем мышлении такой специфический объект, который является собирательным объектом всех объектов принадлежащих конкретному классу. Он принадлежит данному классу, но содержит только те свойства, которые являются общими для всех реальных объектов данного класса. Я такой объект нашего мышления называю "Обобщенным объектом класса". С подобным объектом на строго научном уровне я впервые столкнулся изучая книгу "Теория множеств" группы французских математиков под псевдонимом "Бурбаки". В питоне этот объект называется self. Добавлено через 7 минут Чеволек Павук, Подумайте, что Вам не понятно и задавайте вопросы. А я пока подберу несколько примеров использования ООП в программировании на питоне и поясню их.
1
|
|
|
|
||
| 10.06.2020, 15:28 | ||
|
https://docs.python.org/3/reference/datamodel.html
0
|
||
| 10.06.2020, 17:07 | ||||||
Сообщение было отмечено Чеволек Павук как решение
Решение
Чеволек Павук, Кстати я вам так и не объяснил, что является объектом в питоне.
Объект в питоне оформляется в виде некоторой области в оперативной памяти, содержащую некоторую структурированную информацию. Там кстати находится и информация к какому типу (классу) относится данный объект. Каждая область памяти имеет свой адрес. То есть объект в оперативной памяти имеет свой уникальный адрес. Для того, что бы можно было работать с объектом (который в оперативной памяти), в питоне используются переменные. Но в отличие от других языков программирования, переменные содержат не объекты, а ссылки (адреса) на объекты расположенные в оперативной памяти. Класс в питоне оформляется так же как объект в оперативной памяти, который в свою очередь может создавать объекты, являющиеся экземплярами этого класса. Технология создания экземпляра класса определена в объекте-классе. Имя класса, это имя переменной, которая содержит ссылку на объект-класс находящийся в оперативной памяти. Добавлено через 56 минут Чеволек Павук, Вот пример использования ООП для поиска пересечения двух прямоугольников, относящихся к прямоугольникам со сторонами параллельными осям координат. Класс: Реализуйте класс Rectangle для описания прямоугольника, стороны которого параллельны осям координат. Копирую оттуда сюда свой код.
Не знаю, кто как создает классы, (может только ориентируясь на документацию), я же делаю это так. Мысленно или на листочке рассматриваю объекты этого класса, и ищу их общие свойства и общие действия, которые можно над ними осуществлять. Кстати, когда я писал этот код, я рисовал реальные прямоугольники на листе бумаги. Дальше рассуждаем. Любой прямоугольник на плоскости можно однозначно определить координатами левого нижнего угла (x, y), шириной w, высотой h и углом angle относительно оси координат x. Тут в коде мое упущение, я не показал что у прямоугольника есть свойство angle и оно для этого класса равно нулю angle=0. Но код работает правильно, так как я это свойство учел по умолчанию, когда писал метод intersection. Хотя это свойство экземпляров данного класса можно было указать, разместив в перечне свойств координаты правого верхнего угла, указав их как вычисляемые через другие параметры. Описывая метод пересечения текущего экземпляра класса (к которому применяется данный метод и который в методе обозначен как self) и другого экземпляра этого же класса (обозначенного как other), я на бумаге рассматривая расположение двух конкретных прямоугольников вывел формулы, по которым необходимо производить вычисления и использовал их в методе. Добавлено через 5 минут Мысль, которую я хочу донести. Когда Вы применяете ООП, то используйте объекты своего мышления в качестве объектов питона, описывая их по подобию объектов которые вы мысленно держите в голове. Так Вы сможите избежать многих ошибок используя при программировании ООП.
1
|
||||||
|
║XLR8║
|
||
| 10.06.2020, 21:31 | ||
|
ООП - это идея. Говоря о классах и объектах в ООП, вам надо взять книгу по ООП и выучить определения а не лазить по форумам и википедиям. Поддержка ООП в разных ЯП (языках программирования) бывает разной. Чисто ООП ЯП можно по пальцам пересчитать, остальные в силу оптимизаций в угоду эффективности или по другим соображениям уходят от него на разное растояние. Чтобы узнать о поддержке ООП вашим ЯП, изучайте ЯП. По книгам, а лучше по официальной документации, но точно не по форумам и википедиям.
1
|
||
| 11.06.2020, 12:12 | ||||||||||||||||||||||
Сообщение было отмечено Чеволек Павук как решение
Решение
Чеволек Павук, Вы своим вопросом запустили в моей голове мыслительный процесс по определению понятия "объект питона". Я написал, что
Поэтому продолжим разбираться, что же такое "объект питона". Для начала определим несколько базовых понятий, что бы не уподобляться некоторым философам, которые ведут дискуссию не определившись с понятиями. Как говорится в поговорке "один про Фому, другой про Ерёму". ![]() Литерал - это форма записи.
https://ru.wikipedia.org/wiki/... %BA%D0%B0) Тип или класс (начиная с версии 3.0 это синонимы) В идеологии питона, как и в мыслительном процессе у человека, любой объект принадлежит некоторому классу (обычно одновременно многим классам). В питоне есть такая функция (одновременно класс) с помощью которой мы можем определять что есть объект, а что нет. Если мы подставляем в эту функцию некоторый аргумент, то если аргумент является объектом, то функция возвращает название класса, которому принадлежит этот объект.
Дело в том, что некоторые классы выглядят и ведут себя как функции. И мы часто называем их функциями, хотя они в питоне определены как классы. Например str(obj) -> str . Смотрим стандартную документацию
object это суперкласс самого верхнего уровня. В нем собраны все атрибуты, которые присутствуют (наследуются) для любого объекта питона. В версиях предшествующих 3.0 нужно было для использования класса object указывать его в качестве суперкласса. Начиная с версии 3.0 object является суперклассом для всех классов (нового стиля) в питоне по умолчанию и указывать его теперь не нужно. Теперь можно дать определение понятию "объект" в питоне. Все, что в питоне является экземпляром некоторого класса, называется "объектом". Уф! Вроде все. Что не понятно, спрашивайте.Добавлено через 13 минут И вдогонку, выдержка из Лутца "Однако теперь, когда я показал вам все эти способы проверки типа объекта, я должен заметить, что использование таких проверок в программном коде практически всегда является неверным решением (и отличительным признаком бывшего программиста на языке C, приступившего к программированию на языке Python). Причина, почему такой подход считается неверным, станет понятна позднее, когда мы начнем писать более крупные блоки программного кода, такие как функции, – но это (пожалуй, самая) основная концепция языка Python. Наличие проверок на принадлежность объекта к тому или иному типу отрицательно сказывается на гибкости программного кода, потому что вы ограничиваете его работой с единственным типом данных. Без таких проверок ваш программный код может оказаться в состоянии работать с более широким диапазоном типов. Это связано с идей полиморфизма, о которой упоминалось ранее, и это основная причина отсутствия необходимости описывать типы переменных в языке Python. Как будет говориться далее, программный код на языке Python ориентируется на использование интерфейсов объектов (наборов поддерживаемых операций), а не их типов. Отсутствие заботы об определенных типах означает, что программный код автоматически может обслуживать большинство из них – допустимыми будут любые объекты с совместимыми интерфейсами независимо от конкретного типа. И хотя контроль типов поддерживается, а в редких случаях даже необходим, тем не менее, такой способ мышления чужд языку Python. Вы сами убедитесь, что полиморфизм является ключевой идеей, обеспечивающей успех использования Python. " Поясню о чем здесь говорится. Проверку принадлежности к классу type(obj) нужно делать только в интерактивном режиме, но не использовать в коде программы размещенном в файле.
1
|
||||||||||||||||||||||
|
29 / 24 / 5
Регистрация: 25.12.2018
Сообщений: 607
|
|
| 11.06.2020, 19:27 [ТС] | |
|
Вот бы все так на вопросы отвечали как Viktorrus, все понятным языком, все по полочкам. А что касается литературы, я ее мало читаю, потому что я запоминаю лишь то, что долгим и упорным трудом программирую, спасибо что все объяснили.
0
|
|
| 11.06.2020, 19:27 | |
|
Помогаю со студенческими работами здесь
10
Что такое шаблон, кроме того, что это набор тегов которые при помощи php скрипта заменяются на контент? Класс-контейнер? Что это такое и с чем его «едят»? Что это за объект? Подскажите, что это за объект? Что такое экземпляр класса, объект класса, статический и обычный конструктор/метод/класс/переменная? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|