展开全部
这个东西需要专门讲讲,我先留个标记,然后好好写一个够重量的给你
首先,我要说明,以下的东西都是我自己的62616964757a686964616fe58685e5aeb931333335333831理解,如果有错漏,欢迎指出
------------------分隔线----------------------------------------
首先,工厂类不是一个类,我这么说也许有些不清楚,但是这句话的确不太好表达,
它是一种设计模式,利用接口,工厂化的方法将实例化延迟到了子类的时候,
通俗点说,这个类在运行时根据客户的选择条件动态实例化相关的类,而不是在编写
代码的时候就写死,这种设计模式我不多说,相信你也明白它的优势在哪里。
先回答你得两个问题
---------------------------------分隔线----------------------------------
为什么用
用最直白的话来说,通常来讲我们的类实例化的时候用一个关键词new,而还有些类
实例化的时候用的不是new而是getinstance,这种就是所谓的工厂类用的。作用的话我前面说了,
它是用来增加灵活性的,传统的new做一个登陆的简单逻辑大概如下(省略部分代码)class Login {
private User user;
public Login() {
user = new User(); //创建对象,假设这个User是一个定义好的类