<rmcreative>

RSS

Все заметки с тегом «ООП»

Можно уточнить:

    (1)
  1. Вызов private-метода из static-метода

    15 февраля 2010

    Вот таким чудом озадачили меня Фёдор (unno.ru) и mihailt.

    class A {
      private function action(){
        echo 1;
      }
      public static function callAction(A $a){
        $a->action();
      }
    }
     
    $a = new A;
    A::callAction($a);
    1. Это работает.

    2. Я сомневаюсь, что могу на 100% верно объяснить, почему оно работает.

    Если вы сможете — обязательно напишите в комментариях.

    update

    Контекст модификаторов — класс, а не объект! И верно это для всех популярных реализаций ООП (на всякий случай проверили АS3 и Java).

    39 комментариев