美文网首页程序员小歌学Python
面向对象: Python 类的单继承与多继承

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

作者: 爱码小士 | 来源:发表于2018-09-15 10:25 被阅读13次

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

    老鼠会打洞

    猫会爬树

    鲨鱼会游泳

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

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

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

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

    单继承

    白马和黑马,都是马。

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

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

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

    现在我们看看Circle

    代码运行结果

    多继承

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

    继续

    运行结果

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

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

    相关文章

      网友评论

        本文标题:面向对象: Python 类的单继承与多继承

        本文链接:https://www.haomeiwen.com/subject/layzgftx.html