PHPÀàʵÀý½Ì³Ì£¨¶þÊ®ËÄ£©£ºPHP5ÀàÖеĶà̬
¶à̬Õâ¸ö¸ÅÄÔÚJavaÖÐÖ¸µÄÊDZäÁ¿¿ÉÒÔÖ¸ÏòµÄ¶ÔÏóµÄÀàÐÍ£¬¿ÉÊDZäÁ¿ÉùÃ÷ÀàÐ͵Ä×ÓÀà¡£¶ÔÏóÒ»µ©´´½¨£¬ËüµÄÀàÐÍÊDz»±äµÄ£¬¶à̬µÄÊDZäÁ¿¡£ÔÚPHP5ÖУ¬±äÁ¿µÄÀàÐÍÊDz»È·¶¨µÄ£¬Ò»¸ö±äÁ¿¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊýÖµ¡¢×Ö·û´®¡¢¶ÔÏó¡¢×ÊÔ´µÈ¡£ÎÒÃÇÎÞ·¨ËµPHP5Öжà̬µÄÊDZäÁ¿¡£
ÎÒÃÇÖ»ÄÜ˵ÔÚPHP5ÖУ¬¶à̬ӦÓÃÔÚ·½·¨²ÎÊýµÄÀàÐÍÌáʾλÖá£
Ò»¸öÀàµÄÈκÎ×ÓÀà¶ÔÏ󶼿ÉÒÔÂú×ãÒÔµ±Ç°ÀàÐÍ×÷ΪÀàÐÍÌáʾµÄÀàÐÍÒªÇó¡£
ËùÓÐʵÏÖÕâ¸ö½Ó¿ÚµÄÀ࣬¶¼¿ÉÒÔÂú×ãÒÔ½Ó¿ÚÀàÐÍ×÷ΪÀàÐÍÌáʾµÄ·½·¨²ÎÊýÒªÇó¡£
¼òµ¥µÄ˵£¬Ò»¸öÀàÓµÓÐÆä¸¸Àà¡¢ºÍÒÑʵÏÖ½Ó¿ÚµÄÉí·Ý¡£
ͨ¹ýʵÏÖ½Ó¿ÚʵÏÖ¶à̬
<?
class User
{ // User½Ó¿Ú
public function getName() {
}
}
class NormalUser extends User
{ // ¼Ì³Ð×ÔUserÀà
private $name;
public function getName() {
return $this->name;
}
public function setName($_name) {
$this->name = $_name;
}
}
class UserAdmin
{ //²Ù×÷
public static function ChangeUserName(User $_user, $_userName) {
$_user->setName($_userName);
}
}
$normalUser = new NormalUser();
UserAdmin::ChangeUserName($normalUser,"Tom"); //ÕâÀï´«ÈëµÄÊÇ NormalUserµÄʵÀý
echo $normalUser->getName();
?>
ʹÓýӿÚÓë×éºÏÄ£Äâ¶à¼Ì³Ð
ͨ¹ý×éºÏÄ£Äâ¶àÖØ¼Ì³Ð¡£
ÔÚPHPÖв»Ö§³Ö¶àÖØ¼Ì³Ð£¬Èç¹ûÎÒÃÇÏòʹÓöà¸öÀàµÄ·½·¨¶øÊµÏÖ´úÂëÖØÓÃÓÐʲô°ì·¨Ã´?
ÄǾÍÊÇ×éºÏ¡£ÔÚÒ»¸öÀàÖÐÈ¥½«ÁíÍâÒ»¸öÀàÉèÖóÉÊôÐÔ¡£
ÏÂÃæµÄÀý×Ó£¬Ä£ÄâÁ˶àÖØ¼Ì³Ð¡£
½Ó¿ÚʵÀý
дһ¸ö¸ÅÄîÐÔµÄÀý×Ó¡£ ÎÒÃÇÉè¼ÆÒ»¸öÔÚÏßÏúÊÛϵͳ£¬Óû§²¿·ÖÉè¼ÆÈçÏ£º ½«Óû§·ÖΪ£¬NormalUser, VipUser, InnerUser ÈýÖÖ¡£ÒªÇó¸ù¾ÝÓû§µÄ²»Í¬ÕÛ¿Û¼ÆËãÓû§¹ºÂò²úÆ·µÄ¼Û¸ñ¡£²¢ÒªÇóΪÒÔºóÀ©Õ¹ºÍά»¤Ô¤Áô¿Õ¼ä¡£
<?php
interface User
{
public function getName();
public function setName($_name);
public function getDiscount();
}
abstract class AbstractUser implements User
{
private $name = "";
protected $discount = 0;
protected $grade = "";
function __construct($_name) {
$this->setName($_name);
}
function getName() {
return $this->name;
}
function setName($_name) {
$this->name = $_name;
}
function getDiscount() {
return $this->discount;
}
function getGrade
Ïà¹ØÎĵµ£º
Îö¹¹º¯Êý£ºµ±Ä³¸ö¶ÔÏó³ÉΪÀ¬»ø»òÕßµ±¶ÔÏó±»ÏÔʽÏú»ÙʱִÐС£
GC(Garbage Collector)
ÔÚPHPÖУ¬Ã»ÓÐÈκαäÁ¿Ö¸ÏòÕâ¸ö¶ÔÏóʱ£¬Õâ¸ö¶ÔÏó¾Í³ÉΪÀ¬»ø¡£PHP»á½«ÆäÔÚÄÚ´æÖÐÏú»Ù¡£ÕâÊÇPHPµÄGC(Garbage Collector)À¬»ø´¦Àí»úÖÆ£¬·ÀÖ¹ÄÚ´æÒç³ö¡£µ±Ò»¸öPHPÏ߳̽áÊøÊ±£¬µ±Ç°Õ¼ÓõÄËùÓÐÄÚ´æ¿Õ¼ä¶¼»á±»Ïú»Ù£¬µ±Ç°³ÌÐòÖеÄËùÓжÔÏóͬÑù± ......
¿ÉÒÔʹÓÃabstractÀ´ÐÞÊÎÒ»¸öÀà»òÕß·½·¨¡£
ÓÃabstractÐÞÊεÄÀà±íʾÕâ¸öÀàÊÇÒ»¸ö³éÏóÀ࣬ÓÃabstractÐÞÊεķ½·¨±íʾÕâ¸ö·½·¨ÊÇÒ»¸ö³éÏó·½·¨¡£
³éÏóÀ಻Äܱ»ÊµÀý»¯¡£
³éÏó·½·¨ÊÇÖ»Óз½·¨ÉùÃ÷£¬¶øÃ»Óз½·¨µÄʵÏÖÄÚÈÝ¡£
abstract ³éÏóÀà
¿ÉÒÔʹÓÃabstractÀ´ÐÞÊÎÒ»¸öÀà¡£
ÓÃabstractÐÞÊεÄÀà±íʾÕâ¸öÀàÊÇÒ»¸ö³éÏóÀà¡£
³éÏóÀ ......
ÀàʵÏÖ½Ó¿ÚҪʹÓà implements ¡£ÀàʵÏÖ½Ó¿ÚҪʵÏÖÆäÖеijéÏó·½·¨¡£Ò»¸öÀà¿ÉÒÔʵÏÖ¶à¸ö½Ó¿Ú¡£
Ò»¸öÀà¿ÉÒÔʹÓà implements ʵÏÖ½Ó¿Ú£¬ÉõÖÁ¿ÉÒÔʵÏÖ¶à¸ö½Ó¿Ú¡£
´ó²¿·ÖµÄÊé˵£¬ÕâÑùÊÇΪÁËʵÏÖPHPµÄ¶à¼Ì³Ð¡£ÎªÊ²Ã´ÄØ£¿
PHP5Êǵ¥¼Ì³ÐµÄ£¬Ò»¸öÀàÖ»¿ÉÒԼ̳Ð×ÔÒ»¸ö¸¸Àà¡£½Ó¿Ú¿ÉÒÔʵÏÖ¶à¸ö£¬ÕâÑù¾ÍÊǶà¼Ì³ÐÁË¡£
ÕâÑù˵ÓÐЩµÀÀí¡£ ......
Ò»¸ö½Ó¿Ú¿ÉÒԼ̳Ð×ÔÁíÍâµÄ½Ó¿Ú¡£PHP5ÖеÄÀàÊǵ¥¼Ì³Ð£¬µ«ÊǽӿںÜÌØÊâ¡£Ò»¸ö½Ó¿Ú¿ÉÒԼ̳Ð×Ô¶à¸ö½Ó¿Ú¡£
Ò»¸ö½Ó¿Ú¼Ì³ÐÆäËü½Ó¿Úʱºò£¬Ö±½Ó¼Ì³Ð¸¸½Ó¿ÚµÄ¾²Ì¬³£Á¿ÊôÐԺͳéÏó·½·¨¡£
ÔÚPHP5ÖУ¬½Ó¿ÚÊÇ¿ÉÒԼ̳Ð×ÔÁíÍâÒ»¸ö½Ó¿ÚµÄ¡£ÕâÑù´úÂëµÄÖØÓøüÓÐЧÁË¡£
ҪעÒâÖ»ÓнӿںͽӿÚÖ®¼äʹÓà ¼Ì³Ð¹Ø¼ü×Öextends¡£
ÀàʵÏÖ½Ó¿Ú±ØÐëʵÏÖ ......
<p>³éÏóÀàʵÏÖ½Ó¿Ú£¬¿ÉÒÔ²»ÊµÏÖÆäÖеijéÏó·½·¨£¬¶ø½«³éÏó·½·¨µÄʵÏÖ½»¸¶¸ø¾ßÌåÄܱ»ÊµÀý»¯µÄÀàÈ¥´¦Àí¡£</p>
<textarea name="code" class="php">
<?php
interface User
{
function getName();
function setName($_name);
}
//´Ë´¦Ö»ÊÇʵÏÖÁËÒ»¸ö½Ó¿ÚµÄÒ»¸ö·½·¨
abstract cl ......