8.7 Упражнения

Предыдущая  Содержание  Следующая V*D*V

Технически, селекторы суперклассов могут использоваться только из методов. Мы могли решить не проверять параметры селекторов суперкласса. Действительно ли это благоразумно?

Мы полагаем, что указатель идентифицирует объект, если этот объект начинается с магического числа. Это дорого, потому что увеличивает размер каждого объекта. Можно ли потребовать лишь того, чтобы описание класса начиналось с магического числа?

Фиксированная часть описания класса (имя, суперкласс и размер) может быть защищена контрольной суммой. Она должна быть тщательно подобрана, чтобы разрешить статическую инициализацию для Class и Object.

cast() дублирует алгоритм isOf(). Может isOf() быть изменена так, чтобы мы могли использовать наивную реализацию cast() и не войти в бесконечную рекурсию?

cast() является нашей самой важной функцией для получения сообщений об ошибках. Вместо простого assert(), сообщения могли бы содержать точку вызова, ожидаемый класс и фактически переданный класс.

 

Предыдущая  Содержание  Следующая