Python 笔记 : 类和继承
2011-04-21 15:43
387 查看
# -*- coding= utf-8 -*- # 文件编码定义的语法规则是: coding[:=]/s*([-/w.]+) # 未指定编码将默认为 : ASCII # 同时要注意物理文件的编码也要符合本语言指定的编码 # 更多可参考: http://python.org/dev/peps/pep-0263/ class CBase: '''资源相关类''' # 通过CBase.__doc__ 或者类实例.__doc__ 可以输出此说明 counter = 0; # 这是属于类的变量,相当于c++的静态变量,公有 __counter = 1; # 变量前加双下划线,将被认为是私有变量 # 在类外不能访问,否则认为是公有的变量 #在Python 中的 __init__相当于C++的constructor, #在__init__中定义的是对象的变量,相当于c++的普通变量 def __init__(self,name): self.name = name # 普通对象变量,公有 self.__private1 = 2 # 私有普通变量,私有 print('__init__ base') # __del__ 相当于c++的destructor def __del__(self): print(' base destruct') # 任何一个类方法必须至少有一个参数 # 这个参数相当于C++的this指针 # 这个参数必须是第一个参数 # 约定通常写作self def Help(self): '''Help doc''' # 方法的doc,引用语法 [类名|实例].方法名.__doc__ print('---base help begin---/n',self.name) # 在这儿引用类普通变量 print(CBase.__counter) # 即便是本类的方法引用自己的静态变量, # 也需要加类名或者self 限定 print(self.__private1) #私有变量只有本类方法有权限引用 print('---base help end---/n') def Test(self): print('Base Test') # 类的继承 # 可进行多重继承,语法class CC(CA,CB) class CHigh(CBase): def __init__(self): CBase.__init__(self,'high') # 调用基类的构造时,要手动传入第一个参数 print('__init__ high') def __del__(self): #CBase.__del__(self), 基类的析构函数是不能调用的 # 基类的析构的函数也不会被自动调用 print(' High destruct') # 继承类的方法会覆盖掉基类的同名方法 def Test(self): print('High Test ') # python没有方法重载的概念 # 源文件中最后一个定义的方法将会覆盖掉之前的同名方法 # 现在在调用Test,必须传递第二个参数name # 上面的具有一个参数的Test方法被覆盖掉了. def Test(self,name): print('High Test have arg:',name) rh = CHigh() #rh = CBase('hello') rh.Help() rh.Test(); print(CBase.counter) print(rh.name)
相关文章推荐
- Python笔记(5)类__方法与继承
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
- python进阶学习笔记(四)——python中访问限制、创建类属性、定义实例方法、定义类方法、类的继承
- 初学Python的学习笔记10----多重继承、定制类、枚举类
- 【Python】笔记:类继承问题总结
- python学习笔记14(多态、封装、继承)
- python 学习笔记(9)调试与类继承
- 【Python】学习笔记——-8.3、面向对象高级编程:3.多重继承
- Python笔记——类与继承
- Python学习笔记(11):类的继承
- 【Python】Python学习笔记(类的继承)
- Python进阶笔记(5)_ 继承
- Python 父子类继承笔记
- python学习笔记——旧类与新类继承中的构造函数
- 初学Python的学习笔记8----面向对象、数据封装、访问限制、继承和多态
- python学习笔记14(多态、封装、继承)
- Python3 学习笔记 -- 继承
- Python 学习笔记 - 面向对象(封装,继承和多态)
- 【python学习笔记】Python面向对象的理解(封装,继承,多态)
- Python笔记9——继承、多态和type、isistance、dir