Страницы

Поиск по вопросам

вторник, 2 октября 2018 г.

В чем преимущества однокорневой иерархии классов?

В чем заключаются основные преимущества однокорневой иерархии классов, когда все классы наследуются от одного класса, например Object? Что побудило разработчиков языков с однокорневой иерархией классов пойти именно по этому пути?


Ответ

Главным образом для того, чтобы у всех объектов и классов было общее поведение, а также поведение по умолчанию, которое содержится в виртуальных методах, которые можно переопределить. Для этого лучше всего походит единый корневой объект. Это гарантирует, что у всех типов будут определённые методы. Для того, чтобы можно было писать члены (методы, свойства, индексаторы, события и т.д.), которые могут по-разному работать с абсолютно непохожими типами. Однако эта возможность сильно нивелировалась более удобными Generic и удалила необходимость проверки типов и приведений, ошибки в которых можно было увидеть во время исполнения. Однако по-прежнему существует API (в том числе и стандартное), которое было разработано до Generic, и в котором активно используется корневой тип.

Комментариев нет:

Отправить комментарий