Как формируется список отображения? Вчера задал вопрос Множественное наследование не нарушает ООП?, в котором меня раскритиковали, а сегодня у меня появился другой взгляд на этот вопрос и по этому я решил переспросить.
Вчерашний вопрос звучал как - может ли один класс реализовывать множество не схожих по поведению интерфейсов. Типа -interface INode {
next: INode
prev: INode
}
interface ITask {
execute(): void;
}
interface ISet {
insert(target: INode): void;
};
class SomeClass implements INode, ITask, ISet{
next: INode;
prev: INode;

execute():void {}
insert(target: INode):void
{
// и здесь просиходит установка таргета
this.next = target;
target.prev = this;
}
}
И я уже было повелся на ответы, которые звучали как - "единая обязанность" и " Принцип подстановки Барбары Лисков" и даже что композиция уже полный отстой и будущие за агрегацией...
Но сегодня я открыл свой вопрос и сразу же мне в голову пришел дисплей лист.
Он и имеет тесную композиционную связь в виде ссылки на парента.
И чилдов своих сам устанавливает. И может добраться хоть до праотцов и сотых детей.
Получается один в один мой случай, в котором я и ссылки на предшествиников имею
и на детей и одновременно занимаюсь их установкой.
Где правда?

21 Авг 2019 в 07:07
190 +1
1
Ответы
1

Ваш вопрос о множественном наследовании не нарушает ООП имеет много аспектов, и его можно рассматривать с разных точек зрения.

С одной стороны, ваш пример с классом SomeClass, который реализует несколько интерфейсов, вполне корректен в рамках объектно-ориентированного программирования. Класс реализует различные функциональности, определенные разными интерфейсами, и это может быть логичным и удобным.

С другой стороны, при использовании множественного наследования с классами (а не интерфейсами), могут возникнуть проблемы, связанные с конфликтами имен и дублированием кода. Некоторые языки программирования не поддерживают множественное наследование с классами по этой причине.

Таким образом, важно учитывать контекст и специфику языка программирования при рассмотрении вопроса о множественном наследовании. Ваш пример с классом SomeClass может быть абсолютно корректным и соответствовать принципам ООП, но в других случаях использование множественного наследования может быть менее желательным.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир