摘要: 反射 一、什么是反射 ​ 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。 ​ 反射被称为框架的基石 阅读全文
posted @ 2019-08-06 10:05 竣~ 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 封装 一、封装的概念 ​ 将复杂丑陋的,隐私的细节隐藏到内部,对外提供简单的使用接口 对外隐藏内部实现细节,并提供访问的接口 二、为什么需要封装 ​ 1、为了保证,关键数据的安全性 ​ 2、对外部隐藏实现细节,隔离复杂度 三、什么时候应该封装 ​ 1、当有一些数据不希望外界可以直接修改时 ​ 2、当 阅读全文
posted @ 2019-08-06 10:05 竣~ 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-08-06 10:05 竣~ 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 面向对象三大特性之多态性 一、概念 官方解释:多个不同类对象可以响应同一个方法,产生不同的结果 多态不是一种特殊的语法,而是一种状态,特性 二、好处 提高代码的复用性 对于使用者而言,大大降低了使用难度 三、实现多态 接口、抽象类、鸭子类型,都可以写出具备多态的代码,最简单的就是鸭子类型 阅读全文
posted @ 2019-08-06 10:05 竣~ 阅读(446) 评论(0) 推荐(0) 编辑
摘要: oop中的内置函数 ​ 类中存在一些名字带有双下划线__开头的内置函数, 这些函数会在某些时候被自动调用,例如之前学习的迭代器\_\_init\_\_函数 一、isinstance(obj, cls) 检查obj是否是cls的对象 二、issubclass(sub, super) 检查sub类是否是 阅读全文
posted @ 2019-08-06 10:04 竣~ 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 元类(metaclass) 一、什么是元类 一切源自于一句话:python中一切皆为对象。既然如此类是不是也是对象呢? 所有的对象都是实例化或者说调用类而得到的(调用类的过程称为类的实例化),比如对象t1是调用类Teacher得到的 一切皆对象的话 类也必然是一个对象,验证一下 思考,t1是通过Te 阅读全文
posted @ 2019-08-06 10:04 竣~ 阅读(173) 评论(0) 推荐(0) 编辑