面向对象的三大特性
来源:互联网 发布:360vr全景通源码 编辑:程序博客网 时间:2024/05/22 13:19
封装
封装性:将内容封装到某个地方,以后再去调用被封装在某处的数据;
1. 将内容封装到某处;
2. 从某处调用被封装的内容;
对于面向对象的封装来说,就是使用构造方法将内容封装到对象里面,然后通过对象直接调用或者self调用被封装的数据。
#学生类class Student(object): def __init__(self,name,age,gender,classes,number): self.name=name self.age=age self.gender=gender self.classes=classes self.number=number def study(self): pass def pay(self): pass def information(self): pass
继承
继承,即子继父业,子类是派生类,父类是基类
继承分为单继承和多继承,即:
class(父类名称) #单继承class(父类名称1,父类名称2...) #多继承
新式类和经典类的不同,在于对方法搜索顺序的不同。新式类采用广度优先继承,而经典类采用深度优先继承。以下是一个新式类和经典类分别作为基类的例子:
#class D(object): # 新式类class D: # 经典类 def eat(self): print "D eating"class C(D): def eat(self): print "C eating"class B(D): def run(self): print "runing" def eat(self): print "B eating"class A(B,C): pass
继承的优点:
- 建造系统中的类,避免重复操作
- 新类经常是基于已经存在的类,这样就可以提升代码的复用程度
多态
多态是指:不同的对象可以调用相同的方法然后得到不同的结果。不过需要注意以下两点:
- 如果子类调用的方法,子类没有,父类有,运行父类
- 如果子类调用的方法,子类有,父类也有,只运行子类的
class Animal(object): # Animal:类,盖房的图纸 def __init__(self, name, age): #self实质是实例化后的对象本身,构造函数 self.__name = name # self.name = "taoqi",name是属性,__name是私有属性 self.__age = age # self.age = 6 def setName(self,name): self.__name = name def getName(self): print self.__name def run(self): print "%s is running" % (self.__name) def eat(self): print "%s is eating......" %(self.__name) def __del__(self): print "is delete......."class Cat(Animal): # Cat类继承Animal类,父类/基类(Animal),子类/派生类(Cat) def __init__(self): super(Cat, self).__init__()class Dog(Animal): passtom = Animal("fentiao","west")del(tom)
阅读全文
0 0
- 面向对象的三大特性
- 面向对象的三大特性
- 详解面向对象的三大特性
- 面向对象的三大特性
- 面向对象的三大特性
- 面向对象编程的三大特性
- C++面向对象的三大特性
- JAVA面向对象的三大特性
- 面向 对象的三大特性
- Java面向对象的三大特性
- 面向对象的三大特性
- 面向对象的三大特性
- java面向对象的三大特性
- OC面向对象的三大特性
- 面向对象的三大特性
- 面向对象的三大特性
- Java面向对象的三大特性
- 面向对象的三大特性
- Unity3D Shader(19)——一个简单的色散
- PAT 乙级 1028
- Mui
- python学习(6)
- 安装mysql&navicat
- 面向对象的三大特性
- HDU 1394 Minimum Inversion Number(线段树)
- optional 多值判断机制优化
- 关于mysqldb 的使用
- 动态规划之袋鼠过河问题
- shellter免杀技术实战
- PAT练习题003
- Lambda 使用与注意事项
- readelf的demo