Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2010, 02:40   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию Переопределенные функции

Есть такое код:
Код:
<?php
class A {
     function example() {
         echo "Это первоначальная функция A::example().<br>";
     }
}

class B extends A {
     function example() {
         echo "Это переопределенная функция B::example().<br>";
         A::example();
     }
}


A::example();

// Создаем объект класса B.
$b = new B;

$b->example();
?>
Здесь создан класс А и его наследник класс B, в классе А объявлен метод с названием example и в классе B такой же метод объявлен.

Когда я написал так: A::example();
Я просто через глобальную область видимости к классу вызывал ег о метод, это вроде понятно,но после вот этого:
$b->example();
Вызывался метод из класса-потомка, а потом вызвался метод класса родителя после него, почему это так?
Почему после этого $b->example();выводится 2 раза, а не один класса-потомка?
Syltan вне форума Ответить с цитированием
Старый 23.11.2010, 12:06   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Вызывался метод из класса-потомка, а потом вызвался метод класса родителя после него, почему это так?
Потомучто
Код:
class B extends A {
     function example() {
         echo "Это переопределенная функция B::example().<br>";
         A::example();  \\здесь мы вызваем метод класса A.
     }
}
В вашей переопределенной функции вы явно вызываете функцию другого класса.
ssdm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52
Функции в си. Вывод двумерного массива из функции. Evgen51 Общие вопросы C/C++ 9 13.05.2010 03:59
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57