Я пытаюсь реализовать базовую объектно-ориентированную среду выполнения ANSI C и использую Objective-C в качестве руководства.
Кажется, они состоят из трех частей. Описание класса, интерфейс класса и реализация класса. Чтобы создать экземпляр интерфейса класса, знакомый метод использования объекта класса для создания экземпляра объекта может произойти только в том случае, если среда выполнения уже создала экземпляр вашего объекта класса, используя описание класса.
Итак, все ли определения класса выделяются статически при первом запуске, чтобы обеспечить возможность создания экземпляра с использованием объекта класса? Или если они распределяются динамически (при первом вызове), то как? Является ли это частью цикла выполнения или класс на самом деле является функцией, которая определяет, был ли он уже выделен или нет до пересылки сообщения?