python笔记11--面向对象

来源:互联网 发布:linux read函数 编辑:程序博客网 时间:2024/05/06 01:48

面向对象最重要的两个概念就是类(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()         # 正确,可以直接使用类来访问内置方法,不需要进行实例化




0 0
原创粉丝点击