Я пытаюсь создать фреймворк.Как передать тип возвращаемого значения в качестве параметра (без отражения?)
Эта структура сделана для анализа данных из Интернета внутренне, и предоставить его пользователю рамок (API)
Per Например:
- Каркас имеет класс BasicUser с (String имя, длинное создание)
- Этот класс реализует интерфейс под названием «Пользователь», который описывает основное поведение.
- Каждый раз, когда этот пользователь упомянут где-то, я называю своего рода Listener, давая «Пользователь» Объект
Сейчас это является большим, и все, так как они могут получить доступ к Пользователю, но я хочу, чтобы люди, которые использовать фреймворк, чтобы сделать свои собственные реализации Пользователя.
Я хочу, чтобы они не делали кучу обертывания.
Кто-то, кто использует мою Framework, должен иметь возможность изменить «BasicUser» на класс, созданный пользователем (который реализует «Пользователь»).
(should be able to change "BasicUser"
-> Не в состоянии изменить сам класс, но вместо того, чтобы изменить класс объекта, который получает созданный для новых пользователей к другой реализации «Пользователь»)
Можно ли сделать это без использования отражение?
Возможно ли также, что объект «Пользователь», переданный слушателю, может быть автоматически добавлен в класс, предоставленный пользователем инфраструктуры, используя Generics?
Знаете ли вы, что интерфейсы/вы изучили, как бы они помочь случай использования? –
@DarthAndroid да! Я делаю. Я использую интерфейсы, поэтому моя инфраструктура может использовать их внутри себя! Я хочу, чтобы пользователь в принципе мог добавить свой собственный mumbo jumbo вокруг него, не обертывая весь BaseUser, им не нужны интерфейсы. Они никогда не узнают, что «BaseUser» (кроме стандартного имени и даты создания) даже существует , Я хочу вернуть им свой класс. –
Итак, если я читаю это правильно, у вас есть структура, которая имеет методы, которые принимают объект «Пользователь». пользователи вашего фреймворка создадут класс, который не расширяет BaseUser, а реализует User. В вашей статье есть методы, которые должны возвращать объект обратно пользователю как тот же самый тип, который они передают, - тип, который они создали, который реализует пользователя. Это правильно? – AAG