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

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

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

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

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

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

    Я использую jQuery UI datepicker, я знаю, что могу настроить этот datepicker следующим образом:

    $("#reserve_date").datepicker({
                beforeShowDay: no_disabled_Days
    });
    

    в настоящее время мой календарь датапикера начинает недели с воскресенья , я бы как будто это начинается недели с понедельника , как это сделать ??

46
задан Mellon 15 February 2011 в 12:00
поделиться