Dedenie z generovanej komponenty
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Čamo
- Člen | 798
Zdravím,
vedel by mi niekto pradiť ako by sa dala podediť componenta, ktorá je
generovaná cez interface. Potrebujem prepísať metódu v jednej komponente,
ktorá sa do aplikácie registruje automaticky ako extension.
Táto komponenta sa generuje takto:
interface IFormRendererComponentFactory {
/** @return FormRendererComponent */
function create();
}
class FormRendererComponent extends Control {}
A ja by som potreboval podediť túto triedu, čo nieje problém. Ale potrebujem aby implementovala ten svoj interface, kôli type hintu v iných metódach z toho balíčka. Keď to totiž urobím takto:
interface IMyFormRendererComponentFactory {
/** @return MyFormRendererComponent */
function create();
}
class MyFormRendererComponent extends FormRendererComponent {}
tak to začne padať, pretože MyFormRenderer does not implement IFormRendererComponentFactory… Dá sa toto nejako vyriešiť? Dúfam, že ano…
Editoval Čamo (4. 8. 2017 16:19)
- CZechBoY
- Člen | 3608
No tys ale neudělal factory…
Udělej factory (interface) a tu třídu poděděnou.
interface IMyFormRendererComponentFactory extends IFormRendererComponentFactory
{
/** *@return FormRendererComponent */
function create();
}
tu uveď v tom konfiguráku
Editoval CZechBoY (5. 8. 2017 16:37)