变量的三重属性_2020.12.28 Python学习笔记(python中重载,方法动态性,私有属性私有方法,@property装饰器,面向对象三大特征,继承,类成员的继承和重写,查看类的继承层次结构...

一、python中方法没有重载

方法的参数没有类型就不用搞重载了,通过各名字区分。

如果我们在类体中定义了多个重名的方法,只有最后一个方法有效。

二、方法的动态性:

给类加新方法,给对象做新方法都能做到。

三、私有属性和私有方法(实现封装)

1、通常我们约定,两个小划线开头的属性也是私有的(private),其他为公共的(public)。

2、类内部可以访问私有属性(方法)

3、类外部不能直接访问私有属性(方法)

4、类外部可以通过“_类名_私有属性(方法)名”访问私有属性(方法)

self.__age=age 私有属性

print(e._Employee__age)就可以访问私有属性

四、@property装饰器

将一个方法的调用方式编程“属性调用”

五、面向对象三大特征介绍

封装:隐藏对象的属性和实现细节,只对外提供必要的方法。“私有属性、私有方法”的方式,实现封装。

继承:继承可以让子类具有父类的特性,提高了代码的重用性。可以增加新功能或者改进已有的算法。

多态:是指同一个方法调用对象不同会产生不同的行为

六、继承(支持多重继承)

这个是代码复用的重要手段

已有的类我们称为“父类或者基类”

新的类,我们称为“子类或者派生类”

语法:class 子类名(父类1[,父类2,…):

类体

七、类成员的继承和重写

1、成员继承:子类继承了父类构造方法之外的所有成员

2、方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类的方法,也就称为重写

八、查看类的继承层次结构

通过类的方法mro()或者类的苏醒_mro_可以输出这个类的继承结构。

九、从写_str_()方法 十、多重继承

一个子类可以多个“直接父类”,坏处:会被“类的整体层次”搞得异常复杂,尽量避免使用。

十、mro()

如果父类中有相同名字的方法,在子类没有指定父类名时,解释器将“从左向右”按顺序搜索。

class(B,A)

十一、super()

获得父类的定义

在子类中,如果想要获得父类的方法时,我们可以通过super()来做。

super()代表父类的定义,不是父类的对象。

十二、多态

指同一个方法调用,由于对象不同可能产生不同的行为

十三、特殊方法和运算符重载

python的运算符实际上是通过对象的特殊方法实现的。

十四、组合

is-a”关系,我们可以使用“继承”。从而实现子类拥有的父类的方法和属性。“is-a”

关系指的是类似这样的关系:狗是动物,dog is animal。狗类就应该继承动物类。

“has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。”

has-a”关系指的是这样的关系:手机拥有 CPU。 MobilePhone has a CPU。

十五、设计模式_工厂模式实现

设计模式是面向对象语言特有的内容,是我们在面临某一类问题时候固定的做法,设计

模式有很多种,比较流行的是:GOF(Goup Of Four)23 种设计模式。当然,我们没有

必要全部学习,学习几个常用的即可。

对于初学者,我们学习两个最常用的模式:工厂模式和单例模式。

工厂模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进

行统一的管理和控制。

十六、设计模式_单例模式实现

单例模式(Singleton Pattern)的核心作用是确保一个类只有一个实例,并且提供一

个访问该实例的全局访问点。

单例模式只生成一个实例对象,减少了对系统资源的开销。当一个对象的产生需要比较

多的资源,如读取配置文件、产生其他依赖对象时,可以产生一个“单例对象”,然后永久

驻留内存中,从而极大的降低开销。

分享到:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值