喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [讨论] 关于PHP继承后重载方法  
 
caotian2000
新手上路
Rank: 1



UID 93897
精华 0
积分 38
帖子 36
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-6-13
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
关于PHP继承后重载方法

<?
class b
{
        public function set()
        {
                echo "b";
        }
       
        public function get()
        {
                echo get_class($this);
               
                $this->set();
        }
}

class  c extends b
{
        public function set()
        {
                echo "c";
        }
}

$test =  new c();
$test->get();
?>

这样一个简单的语句,现在执行的话会输出c,证明调用的子类的方法set;
但是如果把基类的方法set 设置成private,就会输出b,执行基类的方法set.
子类已经重定义了方法set,调用set方法时应该调用的就是子类的set方法,怎么还会和修饰符有关呢.
难道也有实函数和虚函数?
请知道原理的人解释下哦!不胜感激!

[ 本帖最后由 caotian2000 于 2008-3-5 09:19 AM 编辑 ]
2008-3-5 09:18 AM#1
查看资料  发短消息  顶部
 
qibinghua (qibinghua)
新手上路
Rank: 1
初级会员



UID 64783
精华 0
积分 35
帖子 40
金钱 35 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-6-16
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
private 私有方法不能被重载
2008-3-5 11:30 AM#2
查看资料  发短消息  顶部
 
songlv (超级版主)
金牌会员
Rank: 6Rank: 6


UID 73828
精华 0
积分 2933
帖子 689
金钱 2929 喜悦币
威望 0
人脉 4
阅读权限 70
注册 2006-5-22
状态 离线
[推荐阅读] 查询页面的变量传递问题,求教大家,急!
你个以这样想啊,父类中的公有方法可以在子类中调用的,所以子类可以覆盖,私有的就没权限去改变了,所以不能被重载了阿,通俗吧?



不要跑  
2008-3-5 12:24 PM#3
查看资料  访问主页  Blog  发短消息  顶部
 
caotian2000
新手上路
Rank: 1



UID 93897
精华 0
积分 38
帖子 36
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-6-13
状态 离线
[推荐阅读] 新手学习PHP,请指教
用计算机语言形容一下,没看懂
2008-3-6 09:24 AM#4
查看资料  发短消息  顶部
 
songlv (超级版主)
金牌会员
Rank: 6Rank: 6


UID 73828
精华 0
积分 2933
帖子 689
金钱 2929 喜悦币
威望 0
人脉 4
阅读权限 70
注册 2006-5-22
状态 离线
[推荐阅读] 【www.edu.cn】招聘PHP开发工程师!
就是说,你这应该叫方法覆盖

基类的私有属性和私有方法在子类中都不能被访问,所以子类的方法就不能覆盖了父类的,对吧?




不要跑  
2008-3-6 11:03 AM#5
查看资料  访问主页  Blog  发短消息  顶部
 
瞎逛悠
高级会员
Rank: 4
无欲则刚


UID 64733
精华 0
积分 559
帖子 229
金钱 559 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2005-6-14
状态 离线
[推荐阅读] 北京迎科堡商务咨询有限公司招聘PHP程序员
概念错误,
这叫隐藏,不叫重载




person help person.
2008-3-9 12:44 PM#6
查看资料  Blog  发短消息  顶部
 
qibinghua (qibinghua)
新手上路
Rank: 1
初级会员



UID 64783
精华 0
积分 35
帖子 40
金钱 35 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-6-16
状态 离线
[推荐阅读] Class 'mysqli' not found???
的确是错了,应该是叫重写
2008-3-10 11:05 PM#7
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023700 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP