powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Общий метод для наследников
10 сообщений из 10, страница 1 из 1
Общий метод для наследников
    #39594879
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два бина
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class Test{
 private string id;
}

public class Child1 extend Test{
 private string childName1;
}

public class Child2 extend Test{
 private string childName2;
}



Вызываются
Код: java
1.
2.
3.
4.
5.
6.
7.
public void method1(Child1 child1){
 save(child1);
}

public void method2(Child2 child2){
 save(child2);
}



Как правильно реализовать метод, чтоб он мог обрабатывать Child1 и Child2
Через рефлексию?
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594887
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я нашел через instanceOf решение
Но нехотелось бы плодить полотно if else
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594888
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-,

Код: java
1.
2.
3.
public void method1(Test child){
 save(child);
}
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594890
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman-=Koba=-,

Код: java
1.
2.
3.
public void method1(Test child){
 save(child);
}



А потому как получить getChildName1 и getChildName2
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594895
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Usman-=Koba=-,

Код: java
1.
2.
3.
public void method1(Test child){
 save(child);
}




А потому как получить getChildName1 и getChildName2добавить в parent класс поле name, которое и будет использовать в обоих (в данном случае) наследниках
Код: java
1.
2.
3.
4.
public class Test{
 private String id;
 private String name;
}

и в этом случае достаточно будет вызвать метод:
Usman
Код: java
1.
2.
3.
4.
public void method1(Test child){
 save(child);
 child.getName();
}
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594900
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

Понимаете это частный случай я привел
Давайте я отойду от String

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class Test{
 private string id;
}

public class Child1 extend Test{
 private int length;
}

public class Child2 extend Test{
 private boolean exists;
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594920
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-,

Перегрузите метод save для каждого child-а.
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594926
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman-=Koba=-,

Перегрузите метод save для каждого child-а.

Вот от этого я и хотел избавиться.
Ладно, спасибо за ответ
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39594928
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полиморфизм.
Общий метод пишется в базовый класс. Где метод save?
...
Рейтинг: 0 / 0
Общий метод для наследников
    #39595015
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Вот от этого я и хотел избавиться.на мой взгляд это лучше, чем каскад if -ов из instanceof
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Общий метод для наследников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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