每种动物都有各自的特性,比如
老鼠会打洞
猫会爬树
鲨鱼会游泳
不同种类有不同的天性。而在程序员的思维中,动物是对象, 天性是这个类方法或者属性。
再延伸一下,比如Python是面向对象编程语言。有List、Str、Dict、Tuple等数据类型,这些数据类型也是对象,比如List类可以有count方法,我们可以通过count方法统计列表中各个元素的数量。
我们可以简单的将定义类理解成就是定义数据结构,同时给这种数据结构制定一些独特的属性或者方法。我们先看最简单的类,在这里我们定义了Point类
![](https://img.haomeiwen.com/i13139608/2fc33e730ccda9ce.png)
调用类之前我们要实例化,这个可以理解成神笔马良画的画,如果不将其搞活,永远是画。通过实例化,调用实例,画中对象就活了。
![](https://img.haomeiwen.com/i13139608/d4392d892fb91bbd.png)
单继承
白马和黑马,都是马。
既然都是马,所以不论黑马白马都有马的特性,都可以奔跑。
所以我们可以定义一个基本的"马类",之后让"白马类"和"黑马类"继承自"马类"
像白马和黑马继承马,这就是单继承。因为只是继承了 一个基类。现在我们定义一个Circle类, 圆是由圆心和半径决定的,所以Circle会继承并使用Point的一些特性。
![](https://img.haomeiwen.com/i13139608/8cab6343f3673f75.png)
现在我们看看Circle
![](https://img.haomeiwen.com/i13139608/de3a0612d049a300.png)
代码运行结果
![](https://img.haomeiwen.com/i13139608/80d9acd1d25b2bb2.png)
多继承
多继承,顾名思义就是某个类继承了多个父类(基类)
![](https://img.haomeiwen.com/i13139608/a6eb29c95d528595.png)
继续
![](https://img.haomeiwen.com/i13139608/856d12d51413721f.png)
运行结果
![](https://img.haomeiwen.com/i13139608/9e36bc5309925846.png)
现在已经有了Point、Size类,以及每个类中的String()方法。现在想构建正四方形Rectangle类。为了让Rectangle具有Point和Size的一些特性,需要让Rectangle继承Point和Size的一些特有的方法。
![](https://img.haomeiwen.com/i13139608/2d94caae87a5e521.png)
Rectangle继承了Point和Size两个类,使得Rectangle不用定义x、y、width、height。而且Rectangle的String方法可以直接调用Point和Size对象的String方法。
![](https://img.haomeiwen.com/i13139608/b53abc29e87dca82.png)
网友评论