Показать сообщение отдельно
  #5 (permalink)  
Старый 24.11.2010, 00:49
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Golovastik,
вы что, совсем идиот?
реально, купите себе какую-нибудь книгу по PHP
и самое главное - читайте документацию.
там все вполне понятно написано. сам читал ее, и точно вам говорю, что там все заданные вами вопросы уже описаны.
Если не понимаете с первого раза, прочитайте еще раз соответствующий раздел справочника.
попробуйте написать тестовый код, для проверки механизма, если возникают сомнения.

Прежде чем задавать вопрос на форуме, повторить эту последовательность действий не менее 3х раз.
Если к третьему разу у вас так и не получилось понять механизм, и получить ответ на свой вопрос самостоятельно, то значит, либо вопрос и вправду нестандартный(что навряд ли), либо вы полный идиот.

Если вы зададите свой следующий вопрос, не потрудившись попытатся найти ответ самостоятельно, как я описал выше, то получите бан на 10 дней.


Ответ на ваш последний вопрос:
Сообщение от Golovastik
$b->example();
это вы вызываете метод example у объекта $b
так как объект $b является представителе класса B, то метод example ищется у него.
Так как он нашелся, то он и выполняется.
Если бы он не нашелся, то искался бы метод example у родительского класса - A
Итак, в вашем случае вызывается именно метод example, код которого описан в классе B
по-умолчанию PHP в таком случае НЕ будет вызывать метод example, код которого описан в классе A
но, вы вызываете его ПРИНУДИТЕЛЬНО, с помощью строки
A::example();

которую кстати, правильно писать так:
parent::example();
Ответить с цитированием