У подкласса есть все [члены] своего суперкласса [и более]. Разве это не задом наперед?
Эта проблема возникает во всех языках программирования, и это всегда заставляет мою голову болеть. (Подтип особенно).
Вот правила:
Когда вы рассматриваете объекты, у подкласса / потомка / подтипа есть больше методов и членов . Может использоваться в большем количестве контекстов . Это кажется нелогичным.
Когда вы рассматриваете контексты, интерфейсы или аргументы, роли меняются местами . Например, метод, ожидающий аргумент супертипа / parent / superclass , может принять больше аргументов , чем метод, ожидающий аргумент подтипа.
То, что находится сверху, полностью зависит от того, считаете ли вы объекты первичными или вы думаете, контексты, ожидающие объекты , являются первичными. Я изучал эту тему почти 15 лет, и все же моя интуиция выдает меня.
Если объявление класса рассматривается как спецификация , , тогда спецификация суперкласса удовлетворяется большим количеством объектов, а спецификация подкласса выполняется меньшим количеством объектов , Я считаю, что это причина номенклатуры. (Немного понятнее, если вы говорите о подтипах и супертипах & mdash; подтип содержит меньше значений, чем его супертип, поскольку каждое значение подтипа также является значением супертипа, а супертип, вероятно, заселен дополнительными значениями, которые не члены подтипа.)
Я уже говорил, что от этой темы у меня болит голова?