powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как проверить равенство типов объектов?
8 сообщений из 8, страница 1 из 1
Как проверить равенство типов объектов?
    #38917072
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
public abstract class Animal {

    ...    
    protected void eat(Animal animal) {}
    ...

}



Как избежать каннибализма? :)
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917095
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На уровне абстрактного класса ничего сделать нельзя. Т.к. нет кода.

Но в имплементации можно заложить возможность проверки что
Код: java
1.
!(wolfObject instanceof Wolf).


Волк не ест волка. И проверять абстрактный аргумент животное на принадлежность к волкам.
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917099
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНа уровне абстрактного класса ничего сделать нельзя. Т.к. нет кода.

Но в имплементации можно заложить возможность проверки что
Код: java
1.
!(wolfObject instanceof Wolf).


Волк не ест волка. И проверять абстрактный аргумент животное на принадлежность к волкам.

а this.getClass().equals(animal.getClass()) не прокатит разве?
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917212
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
понятно, что потомки не должны кушать друг друга.
вопрос в том, что типы обоих экземпляров неизвестны.
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917256
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_max
Код: java
1.
2.
3.
4.
5.
public abstract class Animal {
    ...    
    protected void eat(Animal animal) {}
    ...
}



Как избежать каннибализма? :)

Стандартное решение есть 17432817 , но это скучно...

Вопрос в том, что есть канибализм?
Например, если у Dog есть потомки AmericanCockerSpaniel и AmericanWaterSpaniel, то будет ли поедание одного другим канибализмом? :D
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917316
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ника this.getClass().equals(animal.getClass()) не прокатит разве?
Ну, здесь всплывает вопрос с наследованием. В зависимости от того как наследуется свойство каннибализма в иерархии классов такая проверка либо прокатит, либо нет.
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917320
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Биологи поднимут нас на смех.

Думаю что наследование признаков в биологии и наследование классов в Java - это разные вещи
и их не стоит смешивать. Думаю что автору нужен аналитик который даст общее определение
животным (Animal) и канибализму.

И к теме Java-ООП это не будет иметь никакого отношения. И реализовывать это надо будет
по другому.
...
Рейтинг: 0 / 0
Как проверить равенство типов объектов?
    #38917323
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБиологи поднимут нас на смех.
Что нам до этих неудачников.

maytonДумаю что наследование признаков в биологии и наследование классов в Java - это разные вещи
и их не стоит смешивать. Думаю что автору нужен аналитик который даст общее определение
животным (Animal) и канибализму.

Всё зависит от решаемой задачи. Это классическая проблема наследования между квадратом и прямоугольников. В зависимости от решаемой задачи это наследование может быть либо полезным либо вредным. Однозначного ответа на эту проблему нет. Всё упирается в сценарии использования.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как проверить равенство типов объектов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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