任务八

方法没有重载

在其他语言中,可以定义多个可以重名的方法,只要保证方法名唯一即可。方法名包含三个部分:方法名,参数数量,参数方法。
python中,方法的参数没有生命类型(调用时确定参数的类型),参数的数量也可以由可变参数控制。因此,没有方法重载。如果在类体中定义了多个重名的方法,只要最后一个方法有效。

方法的动态性

在这里插入图片描述在这里插入图片描述

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

Python对于类的成员没有严格的访问限制,这与其他面向对象语言有区别。关于私有属性和私有方法,有如下要点:
1.两个下划线开头的属性是私有的,其他为公共的。
2.类内部可访问私有属性(方法)
3.类外部不能直接访问私有属性(方法)
4.类外部可以通过“__类名__私有属性(方法名)”访问私有属性(方法)
在这里插入图片描述在这里插入图片描述

@property装饰器

@property可以将一个方法的调用方式变为“属性调用”。
在这里插入图片描述在这里插入图片描述

面向对象三大特征介绍

1封装
2继承
3多态
python支持多重继承,一个子类可以继承多个父类。继承的语法格式为:
class 子类类名(父类1[,父类2,…]):
类体

如果类定义中没有指定父类,则默认父类是object类。也就是说,object是所有类的父类,里面定义了一些所有类共有的默认实现,比如:new()

在这里插入图片描述
在这里插入图片描述
子类继承父类所有属性和方法,但是私有属性不能直接访问

类成员的继承和重写

1.成员继承:子类继承了父类构造方法之外的所有成员
2.方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类的方法,也成为“重写”
在这里插入图片描述
在这里插入图片描述

object根类

object类是所有类的父亲,故所有的类都是object类的属性和方法。

dir()查看对象属性

重写__str__()方法

str()用于返回一个对象的描述,对应于内置函数str(),经常使用print()方法,查看对象的信息。str()可以重写

多重继承

python支持多继承,如果父类中有相同名字的方法,在子类没有指定父类名时,解释器将“从左到右”按顺序搜索。
MRO():方法解析顺序。通过mor()方法获得类的层次结构

多态

多态是指同一个方法调用由于调用对象不同可能会产生不同的行为。在现实生活中,我们有很多例子,比如休息方式,张三的休息是睡觉,李四的休息是玩游戏,高琪老师是敲代码。
关于多态要注意以下几点
1.多态是方法的多态,属性没有多态
2.多态的存在有两个必要条件:继承和方法重写
在这里插入图片描述
在这里插入图片描述

特殊方法和运算符重载

在这里插入图片描述
在这里插入图片描述

特殊属性

python对象包含了很多双下划线开始和结束的属性,这些是特殊属性,有特殊用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值