Путаница в парадоксе класса / объекта

В книге «Хорошо обоснованный рубист» ( отрывок ) Дэвид Блэк говорит о «Парадоксе класса / объекта курицы и яйца». Мне сложно понять всю концепцию.

Может ли кто-нибудь объяснить это лучше / проще / аналогично / другими словами?

Цитата (выделено мной):

Класс Класс является экземпляром самого себя; то есть это объект Class . И еще кое-что. Помните класс Object ? Что ж, Объект - это класс ... но классы - это объекты. Итак, Объект - это объект. А Class - это класс. И Объект - это класс, а Класс - это объект.

Что было первым? Как можно создать класс Class , если уже не существует class Object ? Но как может существовать класс Object (или любой другой класс), пока не будет класса Class , экземпляры которого могут быть ?

Лучший способ справиться с этим парадоксом, по крайней мере на данный момент, - это игнорировать его. Руби приходится делать что-то из этих куриных или яичных вещей, чтобы запустить и запустить систему классов и объектов - и тогда замкнутость и парадоксы не имеют значения. В процессе программирования вам просто нужно знать, что классы являются объектами, экземплярами класса, называемого Class .

(Если вы хотите вкратце узнать, как это работает, то это примерно так: каждый объект имеет внутреннюю запись того, к какому классу он относится, и внутренняя запись внутри объекта Класс указывает на Класс .)

10
задан Andrew Grimm 6 October 2011 в 22:14
поделиться