Наследование в PHP
class Patabase {
function Patabase($dbType) {
switch($dbType) {
case 'mysql':
$this = new NLMYSQLDatabase;
break;
case 'pgsql':
$this = new NLPGSQLDatabase;
break;
default:
FatalError('You must select DB type');
break;
}
}
}
class Parent {
function Parent {
echo 'I\'m is ';
}
function ShowParent {
echo 'a parent';
}
}
class Son {
function Son {
$this = new Parent;
}
function ShowSon {
echo ' and a son';
}
}
$x = new Son;
$x->ShowParent;
$x->ShowSon;
вопрос из первого сообщения все еще в силе
имхо, все-таки описанная ситуация не совсем согласуется с понятием наследования
Опять ты странного хочешь…
Решение вроде как архитектурно не очень верно... Попробуй паттерн Factory применить для такой задачи, это, ИМХО, более верно будет
То что я в итоге сделал, начальник обозвал паттерном Adapter
Оставить комментарий
sveta75
Задача состоит в следующем:Есть class Patabase extends NLPGSQLDatabase, иногда хочется чтобы было class Patabase extends NLMYSQLDatabase
Можно ли как то в конструкторе Patabase выбирать от какого класса будет идти наследование? Т.е. существует ли способ указать, что такой то класс происходит от такого то класса без использования конструкции extends ?
Интересуют решения под PHP 4.3.x