java基础-接口2

上次的接口说的还不够明显 作用不突出先看几个类

public interface Cup {//将水杯归结成接口这样 具体的实现有实现类完成
String  character="plastic";//质地 塑料
String  size="10";
void holdWater();//盛水
void pourAwayTheWater();//倒水
public void coverTheLidCup(Cap cap);//接口继承接口
}
public interface Cap {//将杯盖化作接口并规定大小 其他的细节由实现类类描述
final String size="10";
void show();
}
public interface CupInterface {//结合杯子与杯盖的接口
   void  coverTheLidCup(Cap cap);//给杯子盖盖子
}

public class SquareCup implements Cup{//方形的杯子 用于描述具体细节
public void coverTheLidCup(Cap cap) {
cap.show();
}
public void holdWater() {
System.out.println("盛水");
}
public void pourAwayTheWater() {
System.err.println("倒水");
}

}

public class RedCap implements Cap{//红色的杯盖

public void show() {
System.out.println("红色的杯子盖");
}

}


public class test {//调用的时候就是这样的
public static void main(String[] args) {
SquareCup sc=new SquareCup();
sc.coverTheLidCup(new RedCap());
  //new SquareCup().coverTheLidCup(new RedCap());简写
}
}
//这回如果需求改了 要个黄色的杯盖 那么sc.coverTheLidCup(new YellowCap());
//如果 要个圆的杯子 黄盖子那么 new RoundnessCup().coverTheLidCup(new YellowCap());
//这样你就不需要修改已经写好的类了,如果有各种不同的需求只要添加不同的类 并让他们实现相映的接口就好
//如果还不明白就尝试下 不用接口满足下椭圆的杯子 蓝盖子,与正方形的杯子粉盖子的实现吧


最后接口归结为一种对程序的约定,或者约束 让代码能够更好复用
一个好的模块应该是以接口开始以类结尾的,接口规范重点,继承类描述细节 这样金字塔式的传递方式可以让你的代码轻松拓展哦

你可能感兴趣的:(java)