美文网首页
面向对象

面向对象

作者: 偷到月亮了嘛 | 来源:发表于2018-03-08 19:40 被阅读0次

    面向对象三大特性:封装,继承,多态 

    封装:根据职责将属性和方法封装到一个抽象的类中

    继承: 实现代码的重用,相同的代码不需要重复的编写

    多态:不同的子类对象调用相同的父类的方法,产生不同的结果

    两个重要的概念: 类和对象    类是具有相同特征和行为事物的统称,具有相似内部状态和运动规律的实体的集合 。对象是某一具体事物的存在,可以直接使用的。

    类由类名,类属性,类方法三部分构成  定义类时 class 类名(object): 为新式类  不加object为经典类,类名的命名规则按照“大驼峰”规则命名,单词首字母大写。

    对象的格式为: 对象名 = 类名()   在创建对象中,  魔法方法—init—方法是默认执行的,在init方法中可以直接设置对象的属性。

    —str—也是魔法方法,它的作用是当使用print输出对象时,只要定义了str方法,那么就会打印从这个方法中return的数据。

    如果有一个对象,当需要对其进行修改属性时,有两种方法 : 1:对象名.属性名 = 数据 (直接修改) 2:对象名.方法名()  ---(间接修改)   为了更好的保护属性安全 可以将属性定义为私有属性,然后添加一个可以调用的方法供调用  注:私有属性时给属性前加两个—

    创建对象后,python解释器默认调用init方法,当删除一个对象时,python解释器也会默认调用一个方法,这个方法为del()方法, del方法 程序结束后自动会调用

    单继承 :在程序中,继承描述的是事物之间的所属关系,在定义类时,第一个类为基类,继承自object,子类继承父类时须在变量名后括号里写上父类名,父类的属性,方法都会继承给子类   但是注意:不能访问父类中的私有属性和方法。

    多继承: 即子类有多个父类,并具有它们的特征 。多继承是在子类变量名后括号里写上多个父类名。

    重写: 子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法。如果想调用父类方法就要用到super().函数

    我们通常也会把创建出来的对象叫做类的实例,创建对象的动作叫做实例化。对象的属性叫做实例属性,对象调用的方法叫做实例方法。  每一个对象都有自己独立的内存空间,保存各自不同的属性。多个对象的方法,在内存中只有一份,在调用方法时,需要把对象的引用传递到方法内部。

    在python中,类是一个特殊的对象———类对象 类对象在内存中只有一份,使用一个类可以创建出很多个对象实例。类对象还拥有自己的属性和方法:类属性和类方法。 通过类名.的方式可以访问类属性或调用类方法。

    在python中属性的获取存在一个向上查找机制,首先在对象内部查找对象属性,没有找到就会向上寻找类属性

    相关文章

      网友评论

          本文标题:面向对象

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