前言:面向对象的三大特性是指:封装、继承和多态。论Class 的封装及调用

面向对象三大特性
面向对象的三大特性是指:封装、继承和多态。
一、封装
封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。
所以,在使用面向对象的封装特性时,需要:
- 将内容封装到某处
- 从某处调用被封装的内容
第一步:将内容封装到某处

self 是一个形式参数,当执行 obj1 = Foo('wupeiqi', 18 ) 时,self 等于 obj1
当执行 obj2 = Foo('alex', 78 ) 时,self 等于 obj2
所以,内容其实被封装到了对象 obj1 和 obj2 中,每个对象中都有 name 和 age 属性,在内存里类似于下图来保存。
https://images0.cnblogs.com/blog2015/425762/201508/271653303446704.jpg
第二步:从某处调用被封装的内容
调用被封装的内容时,有两种情况:
- 通过对象直接调用
- 通过self间接调用
1、通过对象直接调用被封装的内容
上图展示了对象 obj1 和 obj2 在内存中保存的方式,根据保存格式可以如此调用被封装的内容:对象.属性名
class Foo:
def __init__(self, name, age):
self.name = name
self.age = age
obj1 = Foo('wupeiqi', 18)
print obj1.name # 直接调用obj1对象的name属性
print obj1.age # 直接调用obj1对象的age属性
obj2 = Foo('alex', 73)
print obj2.name # 直接调用obj2对象的name属性
print obj2.age # 直接调用obj2对象的age属性
StudyQuant量化投资学院 计划在未来逐步公开以下内容:
-
量化投资教学系列:「Python量化投资文章 」中进行详细的介绍,你也可以直接查看我们实时更新
-
Python量化免费课程 :「零基础Python课程」长期更新
-
公众号 量化投资学院 :更多量化学习资源,关注获取下列免费资源
-
回复“热点研报”,获取近年热点券商金融工程研究报告
-
回复“Python量化”,获取Python免费学习课程
-
报名课程/合作咨询 转载: 请加VX82789754
网友评论