关卡一:
1.练习题1:设计模式
什么是设计模式?为什么使用设计模式?
设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
什么是工厂模式?
定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
使用工厂模式有什么好处?
1 工厂方法封装了对象创建的细节,将对象创建代码和其他部分脱离,减少相干性(即解耦);
2 有利于同类对象创建的统一管理和控制;
3 你所关心的仅仅是工厂方法返回的接口方法,不必关心实现细节。
工厂模式的使用场景有哪些?
1.类不知道自己要创建哪一个对象;
2.需要在子类中才能决定实例化哪个被操作对象,同时这些被操作对象又复用相同操作逻辑;
3.客户需要清楚创建了哪一个对象。
Python中__new__方法作用是什么?
Python中__new__方法主要是提供给一个自定义类的实例化过程的途径。
如何定义__new__方法?
__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供
__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例
简述__new__()方法和__init__()方法的区别和联系。
实例化对象的时候,调用__init__()初始化之前,先调用了__new__()方法