设计模式之stategy和C&C接口
马士兵设计模式视频及源码:
链接: https://pan.baidu.com/s/1bHhkU6 密码: 35bd
假设我们要写一个排序的小程序,程序如下:
public class DataSorter {
//冒择路(入)兮(希尔)快归堆
//冒泡算法
public static void sort(int[] nums) {
for (int i = nums.length; i > 0; i--) {
for (int j = 0; j < i-1; j++) {
if (nums[j] > nums[j+1]) {
swap (nums, j, j+1);
}
}
}
}
private static void swap(int[] nums, int j, int i) {
int temp = nums[j];
nums[j] = nums[i];
nums[i] = temp;
}
public static void print(int[] nums) {
for (int i = 0 ; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
}
}
但是我现在想要对float类型的数进行排序呢,对于double类型进行排序呢。现在我们要对Cat类型进行排序,Cat类如下:
public class Cat {
private int heigth;
private int weigth;
public Cat(int heigth, int weigth) {
super();
this.heigth = heigth;
this.weigth = weigth;
}
public int getHeigth() {
return heigth;
}
public void setHeigth(int heigth) {
this.heigth = heigth;
}
public int getWeigth() {
return weigth;
}
public void setWeigth(int weigth) {
this.weigth = weigth;
}
@Override
public String toString() {
return this.heigth + <