powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация нескольких интерфейсов
5 сообщений из 5, страница 1 из 1
Реализация нескольких интерфейсов
    #39365295
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два интерфейса с одинаковым методом

Код: java
1.
2.
3.
4.
5.
6.
7.
public interface InterfaceA {
    public void doSomething();
}

public interface InterfaceB {
    public void doSomething();
}


Вопрос - можно ли реализовать эти два интерфейса в одном классе, но так, чтобы класс содержал разную реализацию этих методов? Что-то типа такого
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class InterfacesImpl implements InterfaceA, InterfaceB{
     @Override
    public void InterfaceA.doSomething() {
        System.out.println("call InterfaceA");
    }
     @Override
    public void InterfaceB.doSomething() {
        System.out.println("call InterfaceB");
    }
}



С уважением, Vasilisk
...
Рейтинг: 0 / 0
Реализация нескольких интерфейсов
    #39365330
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная задача, это чтобы самого себя потом запутать?
Такого нет, гугл в помощь, в топе поиска ссылка по запросу "два интерфейса с одинаковыми методами". Почему такого нет в java, а с'ях есть - фз, наверное недостаток с'ей :))
Как указано в этой статье - будет создана общая реализация двух разных методов.

Это
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class InterfacesImpl implements InterfaceA, InterfaceB {

    @Override
    public void doSomething() {
        System.out.println("Кол-во интерфейсов: " + getClass().getInterfaces().length);
    }

    public static void main(String[] args) {
        InterfacesImpl interfacesImpl = new InterfacesImpl();
        interfacesImpl.doSomething();
    }
}


выдаст это:
Код: java
1.
Кол-во интерфейсов: 2


Что так же показывает и IDE.
А вообще логично, нефиг так делать :) для одного из интерфейса сделайте или входящий параметр или имя поменяйте.

Может в 8-ке что-то поменялось в этом плане, я не в курсе.
...
Рейтинг: 0 / 0
Реализация нескольких интерфейсов
    #39365331
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, там еще написано следующее:
"И это при том, что существуют случаи, когда он совершенно не подходит: если взять гипотетические интерфейсы Display и File, то между Display.print() и File.print() есть очень большая разница, и объединять только по причине совпадающих имен просто неверно."
Не вижу проблемы сделать другую структуру классов и интерфейсов для подобных задач.
...
Рейтинг: 0 / 0
Реализация нескольких интерфейсов
    #39365529
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicНе вижу проблемы сделать другую структуру классов и интерфейсов для подобных задач.
А точнее, использовать композицию.
...
Рейтинг: 0 / 0
Реализация нескольких интерфейсов
    #39366077
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicТакого нетЯсно. Спасибо
NixicКак указано в этой статье - будет создана общая реализация двух разных методов.Это я знаю
Nixicэто чтобы самого себя потом запутать?Зачем запутать? Какой-нибудь одинаковый метод GetName() и все
NixicПочему такого нет в java, а с'ях есть - фз, наверное недостаток с'ей :))Вообще вопрос по мотивам Делфей. Там такое есть. В синтаксисе Java выглядело бы как-то так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class InterfacesImpl implements InterfaceA, InterfaceB{
    public void InterfaceA.doSomething() = doSomethingA;
    public void InterfaceB.doSomething() = doSomethingB;
    public void doSomethingA() {
        System.out.println("call InterfaceA");
    }
    public void doSomethingB() {
        System.out.println("call InterfaceB");
    }
}


NixicА точнее, использовать композицию.До этого я и сам додумался. Вопрос был чисто теоретический в рамках изучения языка
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация нескольких интерфейсов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]