Wednesday, October 20, 2010

Adapter - Loại: Creation - Độ khó: trung bình

Adapter nôm na là một bộ chuyển đối. Laptop cũng cần adapter để chuyển từ điện AC sang DC. Đi nước ngoài thì phải xem họ xài ổ cắm tròn hay dẹt, 3 chấu hay 2 chấu. Nếu không phải mua adapter.
Vậy adapter là 1 bộ chuyển đổi dùng để kết nối 2 hay nhiều thiết bị khác nhau lại.

Bây giờ xét ví dụ sau đây: mỗi loài động vật có tiếng kêu khác nhau, chó sủa, bò rống, vượn hót, chim kêu.

public class Cow {

public void roar()
{
System.out.println("o o o o o");
}

}

public class Dog {

public void bark()
{
System.out.println("gau gau gau gau");
}
}

Ta cần 1 interface AnimalAdapter để có thể phiên dịch tiếng nói tất cả động vật

public interface AdapterAnimal {

public void say();

}

Để hiện thực interface này ta cần có AdapterCow và AdapterCat.

public class AdapterCow implements AdapterAnimal {

Cow cow = new Cow();
public void say(){
cow.roar();
}
}

public class AdapterCat implements AdapterAnimal {

Dog dog= new Dog();
public void say(){
dog.bark();
}
}

Bây giờ, ta sử dụng Adapter này:

public static void main(String[] args)
{
AdapterAnimal[] aas = {new AdapterCow(), new AdapterDog()};

for(AdapterAnimal aa: aas)
{
aa.say();
}

}

Ta thấy: nhờ có AdapterAnimal mà việc cho các loài động vật khác nhau cùng lúc lên tiếng trở nên dễ dàng.


No comments:

Post a Comment