Класс против объектных иерархий - PullRequest
2 голосов
/ 14 января 2011

Как вы объясните иерархию классов.

Я думаю, что моя мощь Google снизилась, потому что когда я искал «Иерархии классов» в качестве термина, я получил несколько примеров того, как организованы классы и отношения наследования между ними. Это все о иерархиях классов? Как вы объясните иерархию классов разработчику C?

Кроме того, в чем разница между иерархией классов и иерархией объектов?

На самом деле, в субботу мне предстоит презентация для моих коллег по офису, и я сталкиваюсь с таким количеством теоретических тем: (

Любая помощь будет оценена.

Большое спасибо

1 Ответ

6 голосов
/ 14 января 2011

Я постараюсь ответить в несколько строк.

Иерархия классов , вероятно, относится к структуре, состоящей из классов и связей наследования между ними.Например, у вас может быть class Car, который наследуется от class Vehicle, и так далее.Это составляет иерархию классов.

Теперь, когда вы создаете экземпляр Car с помощью оператора new, вы получаете объект Car;здесь нет никакой иерархии.То есть не существует «двух объектов, связанных вместе посредством наследования», как у двух классов.Можно сказать, что во время реализации иерархии классов «сглаживаются».

Фраза иерархии объектов , следовательно, часто относится к целым / частичным структурам.У вас может быть другой класс, возможно, с именем Wheel, плюс ссылка от Car до Wheel, так что автомобили могут содержать до четырех колес (представьте массив колес в автомобильном объекте или любой другой вид контейнера, еслиты хочешь).Такая компоновка составляет график (а не иерархию) объектов во время выполнения, где главные / частичные (иногда называемые «агрегация» или «композиция») отношения являются основными связями.иерархии объектов совершенно разные и не связаны между собой.

Надеюсь, это поможет.

...