powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Наследование с дженериками
8 сообщений из 8, страница 1 из 1
Наследование с дженериками
    #39204608
Psolao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно код конструкторов
Код: plaintext
public C(int id)
и
Код: plaintext
public В(int id)
вынести в класс предка
Код: plaintext
А
, дабы не реализовывать его в каждом наследнике?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
        class A<T>{
		public A(int id, Class<T> clazz){
		}
	};
	class B extends A<X> {
	
		public B(int id){
			super(id, X.class);
		}
	};
	
	class C extends A<Y> {
		
		public C(int id){
			super(id, Y.class);
		}
	};
			
	class X{}
	class Y{}
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39204611
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное как-то так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public abstract class AbstractParent<AC> {
    private int x;
    private AC aClass;

    public AbstractParent(int x, AC aClass) {
        this.x = x;
        this.aClass = aClass;
    }
}


и
Код: java
1.
2.
3.
4.
5.
public class A extends AbstractParent {
    public A(int x, Object aClass) {
        super(x, aClass);
    }
}


но лучше пусть гуру подойдут и подскажут)
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39204613
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. вот так:
Код: java
1.
2.
3.
4.
5.
public class A extends AbstractParent<A> {
    public A(int x, A aClass) {
        super(x, aClass);
    }
}
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39204625
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, соврала
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39204702
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsolaoМожно код конструкторов
Код: plaintext
public C(int id)
и
Код: plaintext
public В(int id)
вынести в класс предка
Код: plaintext
А
, дабы не реализовывать его в каждом наследнике?

Ytkmpz/
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39204704
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominPsolaoМожно код конструкторов
Код: plaintext
public C(int id)
и
Код: plaintext
public В(int id)
вынести в класс предка
Код: plaintext
А
, дабы не реализовывать его в каждом наследнике?

Ytkmpz/
Перевожу- нельзя.
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39204760
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Psolao,

Код: java
1.
2.
3.
4.
5.
6.
class A<T>{
	public Class<T> cls;
	public A(int id){
		this.cls = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
	}
};
...
Рейтинг: 0 / 0
Наследование с дженериками
    #39205174
Psolao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0FDPsolao,

Код: java
1.
2.
3.
4.
5.
6.
class A<T>{
	public Class<T> cls;
	public A(int id){
		this.cls = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
	}
};



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


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