ВУЗ:
Составители:
Рубрика:
58
Объявления атрибутов...
Объявления методов...
}
?>
Попытка создания экземпляра этих абстрактных классов при-
ведет к выдаче сообщения об ошибке и завершению программы.
Перегрузка методов
Перегрузкой методов называется определение нескольких ме-
тодов с одинаковыми именами, но разным количеством или типом
параметров. Как и в случае с абстрактными классами, в РНР эта
возможность не поддерживается, но существует простое
обходное
решение, приведенное ниже.
<?
class Page
{
var $bgcolor;
var $textcolor;
function Page()
{
// Определить количество переданных аргументов
// и вызвать метод с нужным именем
$name = "Page".func_num_args();
// Call $name with correct number of arguments
passed in
if ( func_num_args() == 0 ) :
$this->$name();
else :
$this->$name(func_get_arg(0));
endif;
}
function Page0() {
$this->bgcolor = "white";
$this->textcolor = "black";
print "Created default page";
}
function Page1($bgcolor) {
$this->bgcolor = $bgcolor;
$this->textcolor = "black";
print "Created custom page";
}
}
$html_page = new Page("red");
?>
58
Объявления атрибутов...
Объявления методов...
}
?>
Попытка создания экземпляра этих абстрактных классов при-
ведет к выдаче сообщения об ошибке и завершению программы.
Перегрузка методов
Перегрузкой методов называется определение нескольких ме-
тодов с одинаковыми именами, но разным количеством или типом
параметров. Как и в случае с абстрактными классами, в РНР эта
возможность не поддерживается, но существует простое обходное
решение, приведенное ниже.
class Page
{
var $bgcolor;
var $textcolor;
function Page()
{
// Определить количество переданных аргументов
// и вызвать метод с нужным именем
$name = "Page".func_num_args();
// Call $name with correct number of arguments
passed in
if ( func_num_args() == 0 ) :
$this->$name();
else :
$this->$name(func_get_arg(0));
endif;
}
function Page0() {
$this->bgcolor = "white";
$this->textcolor = "black";
print "Created default page";
}
function Page1($bgcolor) {
$this->bgcolor = $bgcolor;
$this->textcolor = "black";
print "Created custom page";
}
}
$html_page = new Page("red");
?>
Страницы
- « первая
- ‹ предыдущая
- …
- 56
- 57
- 58
- 59
- 60
- …
- следующая ›
- последняя »
