面向对象程序设计中对象(object)基本上可以看做数据以及一系列可以存取。操作这些数据的方法所组成的集合。
多态:意味着可以对不同类的对象使用相同的操作,它们会像被施了魔法一样工作。
封装:对外部世界隐藏对象的工作细节。
继承:以普通的类为基础建立专门的类对象。
类就是一种对象,所有的对象都属于某一个类,称为类的实例(instance)
当一个对象所属的类是另外一个对象所属类的子集时,前者是后者的子类,后者是前者的超类。
百灵鸟是鸟类的子类,鸟类是百灵鸟的超类。
创建自己的类:
- >>> __metaclass__=type
- >>> class Per:
- def setName(self,name):
- self.name=name
- def getName(self):
- return self.name
- def greet(self):
- print 'hello world'
-
- >>> f=Per()
- >>> f.setName('longpengcheng')
- >>> f.greet()
- hello world
- >>> f.getName()
- 'longpengcheng'
- >>>
新式类的语法中,需要在模块或者脚本开始的步骤地方放置赋值语句__metaclass__=type,使用class创建Per类,class语句会在函数定义的地方创建创建自己的命令空间。self是对像自身的引用。
为了让方法或者特性变为私有(从外部无法访问),只要在它的名字前面加上双下划线即可:
- >>> __metaclass__=type
- >>>
- KeyboardInterrupt
- >>> __metaclass__=type
- >>> class Sec:
- def __in(self):
- print 'hello world'
- def ac(self):
- print 'long'
-
- >>> d=Sec()
- >>> d.__in()
- Traceback (most recent call last):
- File "", line 1, in <module>
- d.__in()
- AttributeError: 'Sec' object has no attribute '__in'
- >>> d.ac()
- long
阅读(968) | 评论(0) | 转发(0) |