【Python学习】2022-1-18 - Python基础---重载、私有、property装饰器、继承、组合

方法没有重载
Python中是没有方法的重载的。定义一个方法即可有多种调用方式。

私有属性和私有方法(实现封装)
Python对于类得成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有属性和私有方法,有如下要点:
1.通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。
2.类内部可以访问私有属性(方法)
3.类外部不能直接访问私有属性(方法)
4.类外部可以通过“_类名_私有属性(方法)名”访问私有属性(方法)

@property 装饰器
可以将一个方法的调用变成”属性调用“。 相当于get和set方法
@属性名.setter相当于set方法,但是是将方法属性化调用

继承
语法格式:
class 子类类名(父类1[,父类2,…])
类体
定义子类时,必须在其构造函数中调用父类的构造函数。调用格式如下:
父类名.init(self,参数列表)
通过类的方法mro()或类的属性__mro__可以输出这个类的继承层次结构

对象的深拷贝和浅拷贝
变量的赋值操作:只是形成两个变量,实际还是指向同一个对象。
浅拷贝:Python得拷贝一般都是浅拷贝。拷贝时,对象包含得子对象内容不拷贝。因此,源对象和拷贝对象会引用同一个子对象。
深拷贝:使用copy模块的deepcopy函数,递归拷贝对象中包含的子对象。源对象和拷贝对象所有的子对象也不同。

__str__方法
返回类的信息

mro
方法解析顺序,可以通过mro()方法获得”类的层次结构“,方法解析也是用的这个层次寻找,即”从左到右“得方式寻找

super()
super()代表父类的定义,不是父类的对象,通过super来调用父类的方法

isinstance(参数,参数父类)
查看这个类是否是这个父类的子类

组合
”is-a“关系,我们可以使用“继承”。从而实现子类拥有父类的方法和属性。“is-a”关系指的是类似这样的关系:狗是动物,dog is animal。狗类就该继承动物类
“has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。“has-a”关系指的是这样的关系:手机拥有cpu。MobilePhone has a CPU

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值