类适配器
UML图:
target接口:
public interface Target {
public void numberSort(double a[]);
public void numberSort(int a[]);
}
adaptee类:
public class Adaptee {
public void numberSort(double a[]){
double temp;
for(int i=0; i<a.length; i++){
for(int j=i; j<a.length; j++){
if(a[i] > a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
}
adapter类:
public class ClassAdapterSort extends Adaptee implements Target{
public void numberSort(int a[]){
int n = a.length;
double b[] = new double[n];
for(int i=0; i<n; i++){
b[i] = a[i] ;
}
this.numberSort(b);
for(int i=0; i<n; i++){
a[i] =(int) b[i];
}
}
public void numberSort(double a[]){
double temp;
for(int i=0; i<a.length; i++){
for(int j=i; j<a.length; j++){
if(a[i] > a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
}
对象适配器:
UML图:
target接口:
public interface Target {
public void numberSort(double a[]);
public void numberSort(int a[]);
}
adaptee类:
public class Adaptee {
public void numberSort(double a[]){
double temp;
for(int i=0; i<a.length; i++){
for(int j=i; j<a.length; j++){
if(a[i] > a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
}
adapter类:
public class ObjectAdapterSort implements Target{
private Adaptee adaptee = new Adaptee();
public void numberSort(int a[]){
int n = a.length;
double b[] = new double[n];
for(int i=0; i<n; i++){
b[i] = a[i] ;
}
adaptee.numberSort(b);
for(int i=0; i<n; i++){
a[i] =(int) b[i];
}
}
public void numberSort(double a[]){
adaptee.numberSort(a);
}
}