日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java适配器模式应用_java笔记--适配器模式的运用

發(fā)布時(shí)間:2023/12/2 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java适配器模式应用_java笔记--适配器模式的运用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

適配器模式的運(yùn)用

主要應(yīng)用:

可以在符合OCP原則(開筆原則)的基礎(chǔ)上,為類增加新的功能。

在現(xiàn)有功能上添加新的功能時(shí)無須修改原有功能代碼。

主要角色:

目標(biāo)角色:就是期待得到的接口,如給汽車添加GPS的接口;

源角色:需要被增加功能的類或接口,如汽車類

適配器角色:新創(chuàng)建的類,在源角色的基礎(chǔ)上實(shí)現(xiàn)了目標(biāo)角色,如已經(jīng)成功添加了GPS的汽車類

例子:

為汽車添加GPS功能

1.建立目標(biāo)角色——添加GPS的接口

/**

* 定義GPS接口

*

* @author XIEHEJUN

*

*/

public interface GPS {

public Point getLocation();

}

2.建立源角色——汽車類

/**

* 汽車實(shí)體類

*

* @author XIEHEJUN

*

*/

public class Car {

private String name;

private double speed;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getSpeed() {

return speed;

}

public void setSpeed(double speed) {

this.speed = speed;

}

@Override

public String toString() {

StringBuilder sbd =new StringBuilder();

sbd.append("車主名稱為:"+name+" ");

sbd.append("車速為:"+speed+" ");

return sbd.toString();

}

}

3.適配器角色——為汽車添加GPS的類

/**

* 為汽車添加GPS

*

* @author XIEHEJUN

*

*/

public class CarAddGPS extends Car implements GPS {

@Override

public Point getLocation() {

Point point = new Point();

point.setLocation(super.getSpeed(), super.getSpeed());

return point;

}

@Override

public String toString() {

StringBuilder sbd = new StringBuilder();

sbd.append(super.toString());

sbd.append(",坐標(biāo)為(" + getLocation().x + "," + getLocation().y + ")");

return sbd.toString();

}

}

4.測試適配器類——main函數(shù)

public static void main(String[] args) {

System.out.println("************創(chuàng)建普通汽車類**********");

Car car = new Car();

car.setName("李宏");

car.setSpeed(60);

System.out.println(car);

System.out.println("************創(chuàng)建帶有GPS的汽車類*******");

CarAddGPS carGps = new CarAddGPS();

carGps.setName("李小華");

carGps.setSpeed(60);

System.out.println(carGps);

}

原文:http://www.cnblogs.com/XHJT/p/3884785.html

總結(jié)

以上是生活随笔為你收集整理的java适配器模式应用_java笔记--适配器模式的运用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。