使用excel统计学生成绩让相同学生分数名次相同-英雄云拓展知识分享
136
2023-11-13
【摘要】 本书摘自《Python 编程与应用实践》一书中第6章,第3节,由冯伟森,王建,杨宁主编。
6.3 继承
在 Python 中,我们可以利用已有的类去实现大部分功能,例如 String类,用它生成
很多我们需要的字符串对象,当我们需要这些类去实现其他功能的时候,可能要在这些类 上进行修改,但是这样做的后果就是代码会变得更加复杂且可能失去这个类原有的功能。 更好的解决方法是利用类的继承:从已有类中衍生出新的类,添加或修改部分功能。“虎 父无犬子”就说明了继承的重要性。
定义一个新类的时候,如果可以继承一个现有的、设计优异的类,再进行二次开发, 不仅可以减少开发工作量,而且能够保证代码质量。我们把现有的、设计优异的类称为父 类或者基类,例如我们前几节提到过的 object 类,新设计的类称为子类或者派生类。
现在我们来尝试一下利用继承定义类。
我们先定义一个类 Animal, 有一个 run() 方法可以直接打印:
class Animal(object):
def run(self):
print('animal is running…')
当我们需要编写Dog 和 Cat 类时,我们就可以直接从Animal 类继承: class Dog(Animal):
pass
class Cat(Animal):
pass
经过如上代码, Animal 就是Dog 类的父类,Dog 就是 Animal 的子类,当然, Cat 类 似。新定义的类要继承原有的类 Animal, 只需要在类名后面的括号中写上父类的类名, 这样定义的新类就实现子类对父类的继承,因此 Dog 和 Cat 类虽然没有写run() 方法,但 是由于它们继承了父类 Animal, 所以它们就拥有了父类的 run() 方法。
接下来为每个类创建一个实例对象:
dog_one=Dog()
cat_one=Cat()
此时,dog_one 就是我们根据类Dog 生成的一个对象,就相当于一只小狗,它能完 成类 Dog能做的所有事情,由于Dog 类的父类是Animal 类,因此 dog_one 同时继承了 Animal的方法,此时 dog_one 这个对象也具有Animal 类中的run() 方法。 cat_one 对 象也是如此,下面我们通过刚定义的这两个对象去访问run() 方法,验证一下是否可行:
dog_one.run()
cat_one.run()
输出结果:
animal is running..
animal is running …
通过上述代码输出结果,当子类需要使用父类的方法时,不需要任何操作即可调用父 类的 run() 方法,子类继承父类,即继承了父类原有的方法。那么,是不是父类所有的方 法都可以被继承呢?我们将会在接下来的章节为大家解开谜团。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~