Heim > Java > javaLernprogramm > Beispielcode für die Implementierung des Bridge-Modus in Java

Beispielcode für die Implementierung des Bridge-Modus in Java

黄舟
Freigeben: 2017-03-10 13:25:48
Original
1261 Leute haben es durchsucht

Klassendiagramm:


/**
 * 手机壳、套
 * @author stone
 *
 */
public abstract class BaseCellphoneShell {
	public abstract void mapping();//对应匹配哪种手机
}
Nach dem Login kopieren
/**
 * 手机,桥接了 手机壳BaseCellphoneShell
 * @author stone
 */
public abstract class BaseCellphone {
	
	private BaseCellphoneShell shell;

	public void setShell(BaseCellphoneShell shell) {
		this.shell = shell;
	}

	public BaseCellphoneShell getShell() {
		return shell;
	}

	public abstract void mapping();//对应哪种壳

}
Nach dem Login kopieren


/**
 * 手机的实现
 * @author stone
 *
 */
public class Cellphone extends BaseCellphone {

	@Override
	public void mapping() {
		System.out.println("本手机对应的壳是:");
		getShell().mapping();
	}

}
Nach dem Login kopieren


/**
 * 手机壳的实现
 * @author stone
 *
 */
public class CellphoneShell extends BaseCellphoneShell {

	@Override
	public void mapping() {
		System.out.println("壳----iphone6");
	}

}
Nach dem Login kopieren


/*
 * 桥接(Bridge)模式, 是结构型模式
 * 
 * 将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,
 * 也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。
 */
public class Test {
	public static void main(String[] args) {
		/*
		 * 在本例中:手机和手机壳之间有强关联的关系:要么手机对应一种壳(BaseCellphoneShell),要么壳对应一种手机(BaseCellphone)
		 * 手机可以有多维度变化,如依据品牌划分的、依据尺寸划分的、依据个性需求划分的等
		 * 手机壳也有多维度变化,因为它要适配上面划分出来的手机
		 * 将桥作在了BaseCellphone中,聚合接入了BaseCellphoneShell
		 */
		BaseCellphone cellphone = new Cellphone();
		cellphone.setShell(new CellphoneShell());//聚合接入
		cellphone.mapping();
	}
}
Nach dem Login kopieren



Das obige ist der detaillierte Inhalt vonBeispielcode für die Implementierung des Bridge-Modus in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage