Python oop(2)

作者: PythonMaO | 来源:发表于2017-05-27 20:29 被阅读21次

1.1应用:存放家具

对象之间的传递

1.1保护对象的属性

如果有一个对象,当需要对其进行修改属性时,有2种方法

·对象名.属性名=数据---->直接修改

·对象名.方法名() ---->间接修改

为了更好的保存属性安全,即不能随意修改,一般的处理方式为

·将属性定义为私有属性

·添加一个可以调用的方法,供调用

总结

·Python中没有像C++中public和private这些关键字来区别公有属性和私有属性

·它是以属性命名方式来区分,如果在属性名前面加了2个下划线'__',则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。

1.1__del__()方法

创建对象后,python解释器默认调用__init__()方法;

当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法

1.1继承介绍以及单继承

将共性的内容放在父类中,子类只需要关注自己特有的内容

在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承自狗,如下如所示:

定义一个父类Cat,定义一个子类BoSiMao,继承父类Cat 运行结果

说明:

·虽然子类没有定义__init__方法,但是父类有,所以在子类继承父类的时候这个方法就被继承了,所以只要创建Bosi的对象,就默认执行了那个继承过来的__init__方法

总结

·子类在继承的时候,在定义类时,小括号()中为父类的名字

·父类的属性、方法,会被继承给子类

总结

·私有的属性,不能通过对象直接访问,但是可以通过方法访问

·私有的方法,不能通过对象直接访问

·私有的属性、方法,不会被子类继承,也不能被访问

·一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用

多继承

继承,即子类有多个父类,并且具有它们的特征

子类F继承多个父类

在父类D和C中,有同一方法D。那么通过子类F调用该方法。调用的是父类D的'D'方法

在父类B和C中,有同一方法hehe。那么通过子类F调用该方法。调用到父类B中的hehe方法。

调用顺序是从左到右

继承关系

1.1重写父类方法与调用父类方法

1.1.1重写父类方法

所谓重写,就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法

调用父类的方法

调用父类被重写的用,两种方法都可以

1.1.1类属性

1.1.1实例属性(对象属性)

1.1.1通过实例(对象)去修改类属性



总结

·如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性,不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,实例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属性。

相关文章

  • Python oop(2)

    1.1应用:存放家具 对象之间的传递 1.1保护对象的属性 如果有一个对象,当需要对其进行修改属性时,有2种方法 ...

  • Python OOP-2

    6.2 继承 继承就是一个类可以获得另外一个类中的成员属性和成员方法 作用: 减少代码,增加代码的复用功能,同时可...

  • Python OOP

    断断续续写了几年程序,终于接触到面向对象的编程方式。本文记录与以往编程体验不同的地方 数据和逻辑被封装: 1. 操...

  • Python OOP

    面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分...

  • Python学习总结

    Python概述 数据类型 数据结构 OOP FP

  • Python学习笔记(2)OOP编程

    中文学习网站: 廖雪峰的官网网站https://www.liaoxuefeng.com/wiki/00143160...

  • python面向对象学习笔记-01

    学习笔记 # 0,OOP-Python面向对象 - Python的面向对象 - 面向对象编程 - 基础 -...

  • python面向对象程序设计(OOP)

    python面向对象程序设计(OOP) 类定义语法class className: 在python中可以...

  • 2018-04-14 开胃学习Python系列 - Object

    Python也是oop,虽然函数在Python生态系统中扮演重要角色。Python确实具有类别(classes) ...

  • python 类的细节

    下面我根据MARK Lutz的《Learning Python》中的“大师眼中的OOP”,列一些使用OOP的常见原...

网友评论

    本文标题:Python oop(2)

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