2018-12-20
阅读量:
679
python里的类到底是什么
例如,如果你在窗外看到一只鸟,这只鸟就是“鸟类”的一个实例。鸟类是一个非常通用(抽
象)的类,它有多个子类:你看到的那只鸟可能属于子类“云雀”。你可将“鸟类”视为由所有
鸟组成的集合,而“云雀”是其一个子集。一个类的对象为另一个类的对象的子集时,前者就是后者的子类。因此“云雀”为“鸟类”的子类,而“鸟类”为“云雀”的超类。通过这样的陈述,子类和超类就很容易理解。但在面向对象编程中,子类关系意味深长,因
为类是由其支持的方法定义的。类的所有实例都有该类的所有方法,因此子类的所有实例都有超
类的所有方法。有鉴于此,要定义子类,只需定义多出来的方法(还可能重写一些既有的方法)。
例如, Bird类可能提供方法fly,而Penguin类(Bird的一个子类)可能新增方法eat_fish。
创建Penguin类时,你还可能想重写超类的方法,即方法fly。鉴于企鹅不能飞,因此在Penguin
的实例中,方法fly应什么都不做或引发异常。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论