hi, ich habe eine etwas allgemeinere frage zum thema klassen design.
ich habe mehrere klassen:
- Smarty
- CMain
- CSession
- CMySQL
früher hab ich die klassen per extends vererbt. also:
class CMain extends CSession{}
class CSession extends CMySQL{}
class CMySQL{}
jetzt hab ich gehört, es sei besser die klassen nicht zu "vereben", sondern sie per new-operant unterklassen zu erstellen (sorry, weiß jetzt nicht, wie der spezielle begriff dafür lautet). also so zb:
jetzt zu meinen fragen:
- ist es wirklich besser? warum?
- und wie bekomm ich die smarty-klasse unter, wenn es ja leider keine mehrfachvererbungen gibt?
ich habe mehrere klassen:
- Smarty
- CMain
- CSession
- CMySQL
früher hab ich die klassen per extends vererbt. also:
class CMain extends CSession{}
class CSession extends CMySQL{}
class CMySQL{}
jetzt hab ich gehört, es sei besser die klassen nicht zu "vereben", sondern sie per new-operant unterklassen zu erstellen (sorry, weiß jetzt nicht, wie der spezielle begriff dafür lautet). also so zb:
PHP-Code:
class CMain{
var $session;
function CMain(){
$this->session = new CSession;
}
}
- ist es wirklich besser? warum?
- und wie bekomm ich die smarty-klasse unter, wenn es ja leider keine mehrfachvererbungen gibt?
Kommentar