首页 > 其他 > 详细

类和对象

时间:2019-05-30 20:38:48      阅读:87      评论:0      收藏:0      [点我收藏+]

  对象=属性+方法

类就相当于一个对象,调用的时候我们需要和调用方法一样给它一个小括号,并且需要把它赋给某个变量,因为如果不赋给某个变量的话,它不指向任何变量,会被垃圾回收器回收

 技术分享图片

封装:如list()下好多的方法,都是封装起来我们直接调用的

继承:子类自动共享父类之间数据和方法的机制

技术分享图片

多态:不同对象对同一方法响应不同的行动

如下方图片,名字一样,响应不一样

 技术分享图片

 

 *self是什么?

   相当于this

   技术分享图片

  技术分享图片

 

*__init__

   python中默认调用的都是前后俩个下划线

  这个__init__相当于构造函数,就是实例化它的时候,可以赋予相应的值,和C#实例化一个类,类中可传参数是一样的

  技术分享图片

  技术分享图片

 

*公有和私有

   技术分享图片

  技术分享图片

  实际上python是将变量名改编成如下:

  技术分享图片

  技术分享图片

  可以看出,这样也是能访问到该变量的值的

       所以python的私有是伪私有,它实际上也是可以被访问的。和C#等语言private有很大的区别

 

 

 

          继承

技术分享图片

经试验,一个类可以继承多个父类

 *如果子类定义和父类相同名字的属性或方法,则会覆盖子类中调用父类的方法

 

 技术分享图片

上述shark重写了__init__方法,因此调用move()的时候会报错,因为没有x与y

解决方案

技术分享图片

1.将shark中实例化方法加一行这个

技术分享图片,这个self指向的是子类shark,因此叫未绑定的父类方法

 

2.使用super()方法,连self参数都不用传,他会自动调用基类/父类的方法

 技术分享图片

 

*可多重继承

技术分享图片

示例:

技术分享图片

 

类和对象

原文:https://www.cnblogs.com/ningxinjie/p/10951505.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!