2018-06-18 多态 __new__ 单例 模块应用

这是第二个月的第二阶段了 我们在这个阶段学的是  类于对象的__new__方法  

封装 根据 职责 将 属性 和 方法封装 到一个抽象的 类 中

 定义类的准则

2. 继承 实现代码的重用,相同的代码不需要重复的编写

设计类的技巧

 子类针对自己特有的需求,编写特定的代码

3. 多态   不同的   子类对象   调用相同的    父类方法    ,产生不同的执行结果

多态   可以 增加代码的灵活度**

以 继承  和 重写父类方法  为前提

是调用方法的技巧,不会影响到类的内部设计


__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供

__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例

__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值

单例模式:

设计模式 是 前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对 某一特定问题 的成熟的解决方案

使用 设计模式 是为了可重用代码、让代码更容易被他人理解、保证代码可靠性

单例设计模式

目的 —— 让 类 创建的对象,在系统中 只有 唯一的一个实例

每一次执行 类名() 返回的对象,内存地址是相同的


捕捉异常:

什么是异常:reeor

单个异常:try  except  a:

多个异常:try:exceept (a,b,c):

异常显示   as 用来连接,后面加变量

全部异常   try: except  Excepttion  as   a:

print(a)

异常捕获最终都要执行的方法   finally

模块应用:

from  模块名  import  *

__name__可是控制是在内部外部执行条件

if __name__ ==__main__:

        执行条件

重点  from  __name__可控

异常处理中抛出异常

raise 抛出异常

__all__指定的模块方法表示用from导入后需要应用的方法

__all__=【】中括号里写入方法名    写入的可以调用 没写的不可调用 (写文件名时不用带后缀名)

你可能感兴趣的:(2018-06-18 多态 __new__ 单例 模块应用)