加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

第九节--绑定

发布时间:2020-05-13 11:05:23 所属栏目:PHP教程 来源:互联网
导读:第九节--绑定

<?php  
   class User //用户  
   {  
       protected function isAuthorized()  //是否是验证用户  
       {  
           return(FALSE);  
       }  
       public function getName()  //获得名字  
       {  
           return($this->name);  
       }  
       public function deleteUser($username) //删除用户  
       {  
           if(!$this->isAuthorized())  
           {  
               print("You are not authorized.<br>n");  
               return(FALSE);  
           }  
           //delete the user  
           print("User deleted.<br>n");  
       }  
   }  
   class AuthorizedUser extends User //认证用户  
   {  
       protected function isAuthorized() //覆写isAuthorized()  
       {  
           return(TRUE);  
       }  
   }  
   $user = new User;  
   $admin = new AuthorizedUser;  
   //not authorized  
   $user->deleteUser("Zeev");  
   //authorized  
   $admin->deleteUser("Zeev");  
?>  

为什么private的类成员模拟静态绑定? 为了回答这个问题, 你需要回忆一下为什么需要有private成员.什么时候用它们来代替protected成员是有意义的?
private成员只有当你不想让子类继承改变或特殊化父类的行为时才用到. 这种情况比你想像的要少. 通常来说,一个好的对象分层结构应当允许绝大多数功能被子类特殊化,改进,或改变—这是面向对象编程的基础之一. 一定的情况下需要private方法或变量,例如当你确信你不想允许子类改变父类中的某个特定的部份. 

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读