python面向对象

来源:互联网 发布:mac个人收藏添加 编辑:程序博客网 时间:2024/06/06 10:57

多态和方法

多态:

就算不知道变量多引用的对象类型是什么,还是能对它进行操作,而它也会根据对象(或类)类型的不同而表现出不同的行为。

绑定到对象特性上面的函数称为方法(method

方法:

方法是一个与某些对象有紧密联系的函数,对象可能是列表、数字,也可能是字符串或者其他对象。

对象.方法(参数)

除了对象被放置到方法名之前,并且两者之间有一个点号隔开,方法调用与函数很相似

 

 

如何干掉多态:

使用多态函数和运算符;

使用函数显示地检查类型,typeisinstanceissubclass函数

 

子类、超类

当一个对象多属的类是另外一个对象所属类的子集时,前者被称为后者的子类;百灵鸟类是鸟类的子类,鸟类是百灵鸟的超类

 

特性、函数和方法

方法(此处指绑定方法)将他们的第一个参数绑定到所属的实例上,使用时,这个参数可以不必提供;同时可以将特性绑定到一个普通函数上,这样就不会有特殊的self参数了。

特性:

可以认为是对象里面的参数;

class Class:

    def method(self):

        print 'i am self'

def function():

        print 'sssss'

instance.method=function

instance.method() 

结果:sssss

 

python私有化

python不直接支持私有方式

#-*-coding:utf-8-*

class secretive:

    def __inaccessible(self):

        print 'bet you'

    def accessible(self):

        print 'the secret message is'

        self.__inaccessible()

s=secretive()

s.accessible()

s._secretive__inaccessible()

s.__inaccessible

结果:

the secret messageis

bet you

bet you

错误

0 0