封装
封装性:将内容封装到某个地方,以后再去调用被封装在某处的数据;
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): pass tom = Animal("fentiao","west") del(tom)