Подмена метода в классе на другую функцию

Alexey(Eburg)

Новичок
Подмена метода в классе на другую функцию

Есть класс и один из его методов:
PHP:
class TNewClass
{
  function Show($data)
  {
    echo "Метод по умолчанию";
  }
}
//И функция, которой иногда нужно заменять этот метод по умолчанию.
function NewShow($data)
  {
    echo "Новый метод";
  }
Вопрос можно ли, и как произвести замену метода Show на NewShow динамически в зависимости от определенных параметров! Заранее спасибо!
PHP версии 4.3.8
 

svetasmirnova

маленький монстрик
Да способов масса, от самого очевидного:
PHP:
class TNewClass
{
  function Show($data, $param = null)
  {
    if ($param) {
     return NewShow($data);
    }
    echo "Метод по умолчанию";
  }
}
до чего-нибудь, идеально подходящего к конкретной задаче
 

Alexey(Eburg)

Новичок
Я хочу указать какому-нить свойству объекта имя функции, которая должна выполниться, и в классе на основе этого свойства должна произойти подмена метода той функцией, имя которой указано. А при вышеупомянутом методе я замучаюсь в код класса лазить!

-~{}~ 10.05.06 16:44:

StUV
Спасибо! Получилось!
 

Franzusow

Новичок
var reservefunction=null;

function FaktoryMethod($function_name){
$this->reservefunction= $function_name;
return $this->reservefunction;
}

---------------------
$object_name-> FaktoryMethod("echo");
$object_name->reservefunction("hallo world");
 
Сверху