您的位置:首页 > 编程语言 > Python开发

python笔记11--面向对象

2015-04-01 14:51 246 查看
面向对象最重要的两个概念就是类(class)和实例(instance)

class Base(object):

def __init__(self,var1,var2...) #Base类的构造函数,self是Base类中所有内置方法的第一个参数,指向对象本身

self.var1=var1

self.var2=var2 #这里的变量可在类中进行全局调用,相当于一个初始化,var1,var2为接收到的参数

def func(self,..)

pass #func便属于该Base类的一个内置方法,可以使用__init__方法的变量(封装性的体现)

a=1 #该Base类的一个公有属性a

__b=1 #该Base类的一个私有属性__b

instance=类名(Var1,Var2) #是该Base类的一个实例

instance.func() #该实例可以调用类中的一切内置方法和属性

关于访问权限:python中如果变量以双下划线__开头,一般外部不能进行访问,此时变成私有变量

class Child(Base): #继承性,获得Base的所有属性和方法,比如也拥有func()的方法

def func(self):

pass #多态性,子类的方法覆盖了父类的方法,总是会运行子类的方法

获取对象信息:

使用type函数可判断对象的类型

使用isinstance函数可判断类型是否一致

使用dir函数可获取一个对象的所有方法和属性

类方法: 使用修饰器@classmethod来进行标识

class test():

@classmethod

def func(cls):

pass

t=test()

test.func() #

t.func() #正确,可以通过类和实例进行访问

静态方法:使用修饰器@staticmethod来进行标识

class test():

@staticmethod

def func(): #不需要进行参数的定义

pass

t=test()

test.func() # 正确,可以直接使用类来访问内置方法,不需要进行实例化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: