关于Python中面向对象基础的一些笔记 您所在的位置:网站首页 python面向对象的继承和多态 关于Python中面向对象基础的一些笔记

关于Python中面向对象基础的一些笔记

#关于Python中面向对象基础的一些笔记| 来源: 网络整理| 查看: 265

        面向对象的三个特点在学习Java的时候已经有所了解,即封装、继承和多态。Python作为一门高级语言也同样具有这样高级的特点(Java同学高呼,这个他熟悉,同时C退出房间)。

    具体来讲一些有关Python中有关面向对象的例子。

#1  封装:提高程序安全性,将数据和方法封装到类的对象中,在方法内部对属性进行操作,在类外利用对象调用方法,无需关心实现细节。

封装举例

        首先在这个例子中,我创建了一个Vehicle类,包含两个方法,start()和stop(),之后创建一个对象调用这两个方法,得出结果如下:

封装举例的结果

        这便是将属于Vehicle类的属性和方法都封装进了Vehicl类中,这个很简单,Java已经学习过了。

#—————分割线——————

#2 继承:提高代码复用性。Python支持多继承,定义子类时,必须在其构造函数中调用父类的构造函数( __init__(self) )。

继承实例

        Python中的继承写法非常简单,比Java简化的多,只需要在类的括号中写上他的父类是谁就可以了。如果没有,则系统默认父类为Object,这一点和java是一样的。

        首先创造一个Person类,其拥有属性name和age,之后创建一个Person的子类Student,在父类的基础上多加了一个属性grade,并且对父类的info()方法进行了重写,以后每当Student创建一个对象时候,就需要对子类拓展以后的参数进行初始化,如果少了某个属性的初值程序会报错。重写的时候可以利用super()方法自动对继承父类的属性进行初始化,这个也和Java一致。其结果如下:

继承举例的结果

#—————分割线——————

#3 多态:这里的多态和Java的多态也恶意说是一模一样,所以好多人说学了C和Java以后再学Python就会简单很多。 多态:提高程序的拓展性和可维护性。即便不知道一个变量所引用的对象到底是什么类型,仍可以通过这个变量调用方法,在运行过程中根据变量所引用对象的类型,动态决定调用那个对象中的方法。这句话可能有些难以理解,那么举一个例子🌰:

多态举例

        这个例子中有animal作为一个父类,其子类包括Cat、Dog,Person则是自己单独继承了Object类。Cat和Dog类都重写了他们父类中的eat()方法,因此创建对象后的他们调用该方法显示的也都是重写后的内容。但是这里需要注意一点的是,Person类继承的并不是animal类,但是Person的对象person在执行自己的eat()方法后和Cat类、Dog类表现出了同样的结果,这个就是Python以及其他语言编程的一种叫做“鸭子法则”现象。

        所谓“鸭子法则”就是指,如果一个鸟,看着像鸭子,像鸭子一样会游泳,像鸭子一样会嘎嘎叫,那么就可以认定这个鸟是只鸭子(马克思主义认为表象也是对本质的一种角度的反应,所以该理论成立😂)。其调用结果如下:

多态举例结果

***该学习笔记参考B站“马士兵教育 杨淑娟老师的Python教程”希望小伙伴可以支持正版,支持杨老师。https://www.bilibili.com/video/BV1wD4y1o7AS?spm_id_from=333.999.0.0***



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有