0
私はブリッジパターンの例を検索しました。次の例ではデザインパターンについて非常にうまく説明しましたが、この例について質問が1つあります。たとえば手動ギアhandleGearメソッドがCarとTruckの場合、自動ギアハンドルギアの実装は車やトラックで異なりますか?この状況のサンプルコードを提供してください。種類別ブリッジパターン別実装
/* Implementor interface*/
interface Gear{
void handleGear();
}
/* Concrete Implementor - 1 */
class ManualGear implements Gear{
public void handleGear(){
System.out.println("Manual gear");
}
}
/* Concrete Implementor - 2 */
class AutoGear implements Gear{
public void handleGear(){
System.out.println("Auto gear");
}
}
/* Abstraction (abstract class) */
abstract class Vehicle {
Gear gear;
public Vehicle(Gear gear){
this.gear = gear;
}
abstract void addGear();
}
/* RefinedAbstraction - 1*/
class Car extends Vehicle{
public Car(Gear gear){
super(gear);
// initialize various other Car components to make the car
}
public void addGear(){
System.out.print("Car handles ");
gear.handleGear();
}
}
/* RefinedAbstraction - 2 */
class Truck extends Vehicle{
public Truck(Gear gear){
super(gear);
// initialize various other Truck components to make the car
}
public void addGear(){
System.out.print("Truck handles ");
gear.handleGear();
}
}
/* Client program */
public class BridgeDemo {
public static void main(String args[]){
Gear gear = new ManualGear();
Vehicle vehicle = new Car(gear);
vehicle.addGear();
gear = new AutoGear();
vehicle = new Car(gear);
vehicle.addGear();
gear = new ManualGear();
vehicle = new Truck(gear);
vehicle.addGear();
gear = new AutoGear();
vehicle = new Truck(gear);
vehicle.addGear();
}
}
ありがとうございました。今私はundestand問題のどのような種類のブリッジパターンを解決しようとします。私がここで見つけたブリッジパターンについての記事John Sonmez https://simpleprogrammer.com/2015/06/08/design-patterns-simplified-the-bridge-pattern/は説明します非常によくパターン。 –