1.封装
将属性和方法抽象出来,封装在一个类中:比如前面的例子——定义类和构造方法,李雷和李华都有年龄和身高,将其抽象出来,封装在学生这个类里面。
2.继承
使用现有类的所有功能,在无需重新编写原来的类的情况下对这些功能进行拓展,比如 Employee 是父类,Manager 是子类,Manager 继承了 Employee。
#父类
class Employee:
def __init__ (self, name, salary):
self.name = name
self.salary = salary
def getname(self):
print('my name is ' + self.name)
return self.name
def getsalary(self):
print('my salary is ') print(self.salary)
return self.salary
#Manager 作为子类继承 Employee
class Manager(Employee):
def fire(self,employee): #在子类内部自定义方法
print('I\'m manager ' + self.name) #‘\’为转义符号,避免将I后面的单引号当做本句的结束
print(employee.name + ' is fired')
也可以在子类对父类方法进行改变:
#对父类中的方法 getname 进行修改
def getname(self):
print('I\'m a manager my name is ' + self.name)
子类可以直接调用父类中写好的方法:
a.getname()
b.fire(a) #调用子类中自定义的方法
b.getsalary() #子类中直接调用父类中的方法