Web-технологии с базами данных. Астахова И.Ф - 58 стр.

UptoLike

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
          Объявления атрибутов...
           Объявления методов...
      }
 ?>

    Попытка создания экземпляра этих абстрактных классов при-
ведет к выдаче сообщения об ошибке и завершению программы.
    Перегрузка методов
    Перегрузкой методов называется определение нескольких ме-
тодов с одинаковыми именами, но разным количеством или типом
параметров. Как и в случае с абстрактными классами, в РНР эта
возможность не поддерживается, но существует простое обходное
решение, приведенное ниже.
 $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");
 ?>