Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для dalay_lama
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495

Динамическое создание дочерних классов

02.06.2016, 12:42. Показов 1184. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Уважаемые форумчане, подскажите пожалуйста, как реализовать данную задумку:
в общем, есть родительский класс, я хотел бы реализовать в нём статический метод, который возвращает экземпляр объекта одного из своих дочерних классов в зависимости от того, какой из них я укажу в параметре метода, примерно вот такое:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public abstract class Model {
//...
   public Model() {};
 
   public static <T extends Model> T model(Class className) {
      return new className();//никак не могу понять что нужно указать в параметре и вообще, что-то вроде такого делать можно?
   }
//....
}
 
public class Post extends Model {
//...
}
 
//----
Post post = Model.model(Post);
//----
в общем, что-то наподобие этого мне нужно, подскажите, такое вообще возможно реализовать и если да, то подскажите как такое написать правильно. Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2016, 12:42
Ответы с готовыми решениями:

Динамическое создание классов с методами
Всем привет. Я знаю, что имеется возможность создавать в цикле экземпляры классов. Например: ArrayList&lt;MyClass&gt; mc = new...

Динамическое определение классов в пакете и обращение к ним
Доброго времени суток, уважаемые гуру Java. Имеется пакет &quot;Problems&quot;, в нем классы Problem_1, Problem_2 ... . У каждого из этих...

Динамическое подключение классов из jar-файла
Как подключить класс к программе во время исполнения не из распакованного класса, а из файла .jar (кроме как напрямую распаковать:))

4
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
02.06.2016, 13:10
dalay_lama, читайте про паттерн Factory
1
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
02.06.2016, 13:13
dalay_lama, Возможно так

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
abstract class Model {
 
    public static <T extends Model> T model(Class<T> clazz) {
        T result = null
        try {
            result = clazz.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return result;
    }
}
 
class Post extends Model {
 
}
 
public class RunApp {
    public static void main(String[] args) {
        Post post = Model.model(Post.class);    
    }
}
Добавлено через 1 минуту
ну и конечно
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
читайте про паттерн Factory
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
02.06.2016, 13:14
reisal78, какой тогда смысл в классе Model при таком решении?
1
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
02.06.2016, 13:17
KEKCoGEN, если честно я не вникал в смысл, просто поправил что бы заработало так как ТС хочет
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2016, 13:17
Помогаю со студенческими работами здесь

Объединение двух дочерних классов в AbstractTableModel для визуализации в JTable
Добрый день уважаемые форумчане. Возможно вопрос некооректно озвучен в шапке, но посараюсь объяснить конкретнее. Использую Eclipse. ...

Создание объектов дочерних классов
Допустим у меня есть класс Parent. И есть дочерние классы ChildA, ChildB, ChildC. Есть функция в которой в зависимости от того какой...

Динамическое создание и добавление классов
Помогите пожалуйста, не понимаю почему не работает вот это. $(document).ready(function(){ ...

Динамическое создание классов во время выполнения
Привет, Необходимо во время выполнения программы (т.е после компиляции и запуска) создавать собственные классы и их экземпляры на...

Несколько дочерних классов
Господа форумчане, подскажите как можно сделать наследование от одного класса нескольких, но так, чтобы у родительского класса не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита "Пробег" при выборе "Спецтехники"
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru