Главная Свежие Последние Лучшие Контактная информация  
 
 


Справочник языка » ::(два двоеточия)
class A
{
function example()
{
echo "I am the original function A::example().<br>\n";
}
}

class B extends A
{
function example()
{
echo "I am the redefined function B::example().<br>\n";
A::example();
}
}

// нет объекта класса A.
// будет напечатано
// I am the original function A::example().<br>
A::example();

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

// будет напечатано
// I am the redefined function B::example().<br>
// I am the original function A::example().<br>
$b->example();


Вышеприведённый пример вызывает функцию example() в классе A, но объектов класса A нет, поэтому мы не можем записать $a->example() или что-нибудь подобное. Вместо этого мы вызываем example() как 'функцию класса', то есть как функцию самого класса, а не объекта этого класса.

Имеются функции класса, но нет переменных класса. Фактически в момент вызова объектов вообще нет. Таким образом, функция класса не может использовать переменные объектов (но может использовать локальные или глобальные переменные) и вообще не может использовать $this.

В приведённом примере class B переопределяет функцию example(). Оригинальное определение в class A скрывается и больше не доступно, если только вы не обратитесь специально к реализации example() в class A с использованием операции ::. Запишите A::example() для этого (фактически вы должны записать parent::example(), как показано в предыдущем разделе).

В этом контексте имеется текущий объект, и он может иметь переменные объекта. Таким образом, при использовании ВНУТРИ функции объекта, вы может использовать $this и переменные объекта.

Добавить в закладки:

 

теги: class
 

  Еще статьи
Массивы: array_map 71
old_function 194
require 95
Переменные: Предопределённые переменные 183
Массивы: usort 181
 


  Категории
Начнем 13
Справочник языка 89
Возможности 12
Функции 142
Расширение PHP 4.0 0
FAQ 0
 

  Теги
 

  Лучшее на сайте
Безопасность: Скрытие PHP 472
Что такое PHP? 446
Безопасность: Данные, отправляемые пользователем 373
foreach 354
Файл конфигурации 333
Безопасность: Безопасность баз данных 333
Операции: Строковые операции 310
Безопасность: CGI-двоичный 305
Безопасность: Безопасность файловой системы 298
Безопасность: Обзор 291
 

  Друзья сайта
 

  Интересное
 

 
Использование материалов только при активной гиперссылке "http://iamcoder.net"
Copyright 2008 http://iamcoder.net Серия сайтов: "Стань умным!".