1.单例模式和protected\private构造方法
使用了protected,客户程序(不在同一包内)就不能随便创建该类的一个实例了.但是由于是protected,使得该类可以被继承.
如果构造函数是私有的,那么该类无法被继承(因为子类构造时要调用超类的构造函数,而private使得子类无法调用),无法从外界获得一个对象.但是可以在类的内部产生一个实例的,例如singleton就是使用private的构造函数,然后在内部维护一个实例,而提供一个static的getInstance方法来获取这个实例
public class Car(){
private Car(){} //私有化的构造方法,限制其他人new car,只有Car自己能new
private static Car car=new Car(); //Car内部new car
public static Car getInatance() //getInstance是工厂模式 是生产car的工厂,由于是静态的,所以是静态工厂模式
{return car;} //方法内部可以自己控制生产的方法
}
测试类
public classTestCar(){
Car car=Car.getInstance();
Car car2=Car.getInstance();
if(car==car2){System.out.println("true");} //结果true;说明是同一个实例
}
如果构造函数是protected,那么该类可以继承,可以在被包内其他类中产生实例,但是无法在包外或者子类以外的地方产生实例.
public就不说了.
2.多例模式,多态
public class Car(){
private Car(){} //私有化的构造方法,限制其他人new car,只有Car自己能new
private static List<Car> cars=new ArrayList<Car>(); //多例模式
public static Car getInatance() //getInstance是工厂模式 是生产car的工厂,由于是静态的,所以是静态工厂模式
{return cars.get(0);} //可以随意取一个实例
}
交通工具和工厂的例子
public interface Moveable(){
void run(){} //interface内部的方法默认是public
}
public class Car implements Moveable(){ //Car类
public viod run(){System.out.println("this is a car.");}
}
public class Plane implements Moveable(){ //plane类
public viod run(){System.out.println("this is a plane.");}
}
public abstract class VehicleFactory(){ //vehicleFactory抽象类
public Moveable create(){};
}
public class CarFactory extends VehicleFactory(){
public Moveable create(){return new Car();};
}
//测试类
public class Test(){
public void main(String[] args){
VehicleFactory f=new CarFactory();
Moveable m=f.create();
m.run();
}
}
//抽象类和接口很类似,某概念确实存在的,用抽象类。如果只是某一类特性和功能时用接口。
分享到:
相关推荐
3. Qt工厂模式工程 4. Qt工厂模式例程 5. Qt工厂模式例子 6. 简单工厂模式 部分源码实例: // 奔驰工厂 class BenzFactory : public AFactory { public: ICar* CreateCar() { return new BenzCar(); } }; // ...
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
介绍的是工厂模式 包括简单工厂模式、工厂方法模式、抽象工厂模式 包括PPT和代码
进入凯立德 工程模式 的方法 在“查找”菜单中切换到“123”输入法,输入*147#即可进入工程模式
导航进入工厂模式的方法,修改导航高级管理。
乐华板卡 进工程模式方法!!!
本文章通俗易懂的对工厂模式进行了讲解,相信您看完这篇文章会对工厂模式有更深入的了解
测试机型:32m3095(其它机型未试,大同小异,自行测试) 测试时间:2022.06.15 进入酒店模式好处:可以设置...进入工厂模式好处:可以设置不正常的颜色,声音。恢复系统默认设置。好多功能,是英文的,我看不懂。
JAVA 设计模式: 工厂模式 代理模式 迭代模式 责任链模式 源码
简单工程模式,一旦要添加一个子类的时候,就要去人工手动的修改工厂类里面的函数。但是在工厂模式里面,我们只需要再添加一个工厂就好了。上传的简单的计算器就是用工厂模式做的,相对比较简单。
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...
深入浅出设计模式之抽象工厂模式+工厂方法模式+策略模式实现手机加工厂(加类图)
工厂方法模式和抽象工厂模式的区别,对工厂方法模式和抽象工厂模式做了简单的比较
java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式
java设计模式 简单工厂模式uml类图,一张图就让你秒懂简单工厂模式
通过C++实现了简单工厂模式、工厂模式、抽象工厂模式三大设计模式的经典案例。
各机芯进入工厂模式汇总 电视怎样进入工厂模式.PDF
单例模式和工厂模式结合应用,实现了产品的生产,适合用做课程设计,包含详细文档和代码。Java语言。喜欢的可以下载来看看那
针对工厂模式的三个类别(简单工厂模式、工厂方法模式、抽象工厂模式)分别实现获取数据库连接并进行DML操作 .
设计模式-抽象工厂模式(讲解及其实现代码)