Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5609768
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: Python/Ruby

2012-06-11 17:24:38

        用"__"做为前缀定义类的内部函数之后,实践发现这个函数将不能被继承。即使子类继承并重新实现了这个函数,那么当父类引用指向子类对象的时候,调用这个函数调用的还是父类的这个函数。
例如:
#!/usr/bin/python
#we cann't derive prive function which prefix with "__"
class MyBase:
    def __init__(self):
        pass

    def __my(self):
        print "base"

    def my(self):
        self.__my()


class MySub(MyBase):
    def __init__(self):
        pass

    def __my(self):
        print "sub"

myobj = MySub()
#myobj.__my() #run error
myobj.my() #print "base"


阅读(5013) | 评论(4) | 转发(1) |
给主人留下些什么吧!~~

vaqeteart2012-06-12 20:57:13

perpyy: myobj._MySub__my().....

perpyy2012-06-12 18:16:42

myobj._MySub__my()

perpyy2012-06-12 18:16:02

myobj._MySub__my()

perpyy2012-06-12 18:15:17

myobj._MySub__my()