10 应用举例(更全面的体会面向接口编程)

结合上一接9 面向接口编程

广告牌的程序:

接口 {

展示广告词()

展示公司名()

}

 

分析:接口相当于国家制定的广告标准,你要制作广告,必须要写广告词和广告名

 

制作广告类{//负责创建广告

public void show(接口 接口变量){//创建广告的方法

  输出   接口变量.展示广告词();

     接口变量.展示公司名

  }

}

分析:     制作广告类相当于“产品类”,只要符合国家制定标准的广告(符合接口,即要有展示广告()、展示公司名()的方法),就可以制作广告。

 

实现接口的类1{

    重写展示广告词(){

  }

    重写展示广告词(){

  }

}

 

实现接口的类2{

    重写展示广告词(){

  }

    重写展示广告词(){

  }

}

分析:实现接口的类1,实现接口的类2属于标准组件。 根据国家标准,两个不同的公司写出了自己特有的展示广告词和展示公司名的方法,这二者都符合国家的标准(是实现接口的类)

 

总体分析:我们只需要把符合国家标准的公司拿去做广告就是允许的。

     我们只要把符合国家标准公司的类的引用给国家标准的接口,然后在制作广告的类中的方法中使用这个接口(当做参数传值进来),就可以直接回调不同公司的广告以及公司名。(说的不是很细,但是通俗易懂)

(把实现接口类的引用给“产品类”的方法,然后直接接口回调)

细节怎么做:甚至不用在主类用接口创建接口变量,直接把   实现接口的引用(实现接口的类的对象的引用)  传值到  创建广告类的方法中,然后在主类中用“产品类”的对象直接调用。

 

具体程序举例:

接口:

public interface Advertisement {//接口
public void showAdvertisement();
public String getCorpName();

}
产品类:
public class AdvertisementBoard {
public void show(Advertisement adver){
System.out.println(adver.getCorpName()+"的广告词如下:");
adver.showAdvertisement();//接口回调
}
}
实现接口的类1:
public class BlackLandCorp implements Advertisement {

public void showAdvertisement(){
System.out.println("**************");
System.out.println("劳动是爹\n土地是妈\n");
System.out.println("**************");
}
public String getCorpName(){
return "黑土集团";
}
}
实现接口的类2:
public class WhiteCloudCorp implements Advertisement {//PhilipsCorp实现

public void showAdvertisement() {
System.out.println("@@@@@@@@@@@@@@@@@@@@@@");
System.out.printf("飞机中的战斗机,哎yes!\n");
System.out.println("@@@@@@@@@@@@@@@@@@@@@@");
}
public String getCorpName(){
return "白云有限公司";
}
}


主类:
public class Example6_6 {
public static void main(String[] args) {
AdvertisementBoard board=new AdvertisementBoard();
board.show(new WhiteCloudCorp());
board.show(new BlackLandCorp());
}
}

 

 

    

 

posted @   馅饼丶  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示