面向对象:Python 类的单继承与多继承

albertjone 2018-09-15

每种动物都有各自的特性,比如

  • 老鼠会打洞
  • 猫会爬树
  • 鲨鱼会游泳

不同种类有不同的天性。而在程序员的思维中,动物是对象, 天性是这个类方法或者属性。

面向对象:Python 类的单继承与多继承

有需要Python学习资料的大哥大姐吗?小编整理一套Python资料和PDF,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦

再延伸一下,比如Python是面向对象编程语言。有List、Str、Dict、Tuple等数据类型,这些数据类型也是对象,比如List类可以有count方法,我们可以通过count方法统计列表中各个元素的数量。

我们可以简单的将定义类理解成就是定义数据结构,同时给这种数据结构制定一些独特的属性或者方法。我们先看最简单的类,在这里我们定义了Point类

面向对象:Python 类的单继承与多继承

调用类之前我们要实例化,这个可以理解成神笔马良画的画,如果不将其搞活,永远是画。通过实例化,调用实例,画中对象就活了。

面向对象:Python 类的单继承与多继承

单继承

白马和黑马,都是马。

既然都是马,所以不论黑马白马都有马的特性,都可以奔跑。

所以我们可以定义一个基本的"马类",之后让"白马类"和"黑马类"继承自"马类"

像白马和黑马继承马,这就是单继承。因为只是继承了 一个基类。现在我们定义一个Circle类, 圆是由圆心和半径决定的,所以Circle会继承并使用Point的一些特性。

面向对象:Python 类的单继承与多继承

现在我们看看Circle

面向对象:Python 类的单继承与多继承

代码运行结果

面向对象:Python 类的单继承与多继承

多继承

多继承,顾名思义就是某个类继承了多个父类(基类)

面向对象:Python 类的单继承与多继承

继续

面向对象:Python 类的单继承与多继承

运行结果

面向对象:Python 类的单继承与多继承

现在已经有了Point、Size类,以及每个类中的String()方法。现在想构建正四方形Rectangle类。为了让Rectangle具有Point和Size的一些特性,需要让Rectangle继承Point和Size的一些特有的方法。

面向对象:Python 类的单继承与多继承

Rectangle继承了Point和Size两个类,使得Rectangle不用定义x、y、width、height。而且Rectangle的String方法可以直接调用Point和Size对象的String方法。

面向对象:Python 类的单继承与多继承

后记

有需要Python学习资料的大哥大姐吗?小编整理一套Python资料和PDF,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦

相关推荐

Kwong / 0评论 2019-06-11