首页 > 其他 > 详细

面向对象学习

时间:2019-04-17 15:59:44      阅读:133      评论:0      收藏:0      [点我收藏+]

一、 面向对象三大特征之封装

面向对象的程序设计中,某个类把所需要的数据(也可以说是类的属性)和对数据的操作(也可以说是类的行为)全部都封装在类中,分别称为类的成员变量和方法(或成员函数)。这种把成员变量和成员函数封装在一起的编程特性称为封装。

1、公有成员变量和私有成员变量:Python中,以两个下划线‘__’开头的变量都是私有成员变量,而其余的变量都属于公有成员变量。私有的成员变量只能在类的内部访问,而共有的公有的成员变量可以在类的外部进行访问。

2、公有方法和私有方法:公有的成员方法和私有的成员方法也是通过名字来区分的,双下划线‘__’开头的方法是私有成员方法。类的私有方法只能通过对象名(在类内部也就是self)在类的内部进行访问。而公有方法可以在类的外部通过对象名进行访问。

3、创建对象后,Python解释器默认调用__init__()方法。当删除一个对象时,Python解释器也会默认调用一个方法,这个方法为__del__()方法。

def __del__(self):

(1)python解释器执行完整个代码之后会默认最后调用对象的__del__()

(2)如果有多个对象,有几个对象,python解释器执行完毕的时候就是调用几遍__del__()

(3)如果手动删除时(del)删除完成就会执行__del__(),当使用del 把内存的所有应用删除,立刻调用__del__方法del xxx 不会主动调用__del__方法,只有引用计数==0时,__del__()才会被执行,并且定义了__del_()的实例无法被Python的循环垃圾收集器收集,所以尽量不要自定义__del__()。一般情况下,__del__() 不会破坏垃圾处理器。

二、面向对象三大特征之继承

子类在继承的时候,在定义类时,小括号()中为父类的名字父类的属性、方法,会被继承给子类私有属性(私有类属性)和私有方法不被继承。私有的属性,不能通过对象直接访问,但是可以通过方法访问私有的方法,不能通过对象直接访问私有的属性、方法,不会被子类继承,也不能被访问Python中是可以多继承的父类中的方法、属性,子类会继承.类名.__mro__方法的作用打印多重继承的继承方法顺序。

三、面向对象三大特征--多态

所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态。多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)。

面向对象学习

原文:https://www.cnblogs.com/zhaobing37/p/10724000.html

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