Как интерфейсы могут заменить необходимость множественного наследования, когда существующие классы

Прежде всего ... Извините за этот пост. Я знаю, что в stackoverflow есть много сообщений, в которых обсуждается множественное наследование. Но я уже знаю, что Java не поддерживает множественное наследование, и знаю, что альтернативой должно быть использование интерфейсов. Но я этого не понимаю и вижу свою дилемму:

Мне нужно внести изменения в очень большой и сложный инструмент, написанный на Java. В этом инструменте есть структура данных, построенная из множества различных объектов класса со связанной иерархией элементов. В любом случае ...

  • У меня есть один класс Tagged , который имеет несколько методов и возвращает тег объекта в зависимости от класса объекта. Ему нужны члены и статические переменные.
  • А второй класс, называемый XMLElement , позволяет связывать объекты и, в конце концов, генерировать XML-файл. Мне также нужны переменные-члены и статические переменные.
  • Наконец, у меня есть множество классов данных, которые почти все должны расширять XMLElement , а некоторые из них Tagged .

Хорошо, хорошо , это не сработает, поскольку можно расширить только один класс. Я очень часто читаю, что с Java все в порядке и множественное наследование не требуется. Я верю, но не верю t посмотреть, как интерфейс должен заменить наследование.

  1. Нет смысла помещать реальную реализацию во все классы данных, поскольку она всегда одинакова, но это было бы необходимо с интерфейсами (я думаю).
  2. Я не понимаю, как я могу изменить один из моих классов наследования на интерфейс. У меня есть переменные, и они должны быть именно там.

Я действительно не понимаю, так что, пожалуйста, кто-нибудь может объяснить мне, как с этим справиться?

54
задан Raedwald 28 June 2013 в 01:37
поделиться