您现在的位置: 天极网 > 开发频道 > 动态扩展Java应用
全文

动态扩展Java应用

2001-11-26 16:24作者:QQ新人类出处:yesky责任编辑:方舟

  使用interface

  使用接口的话,将会令上面的例子变得更加简单。你可以创建PricingPlan的接口,然后定义实现该接口的PricngPlan类:

  接口名:IPricingPlan

public interface IPricingPlan {
 public double calculateCommission( Trade trade );
}

  由于你定义的是一个接口,所以你无需为calculateCommission()定义一个方法体。真正的PricingPlan类将会实现该部分的代码。接着你就要修改PricingPlan类,第一步是声明它将会实现你刚刚定义的接口。你只要在PricingPlan类的定义中加入以下代码就可以:

public class PricingPlan20 extends Object implements IPricingPlan {

  在Java中,当你声明将实现一个接口的时候,你必须实现该接口中的全部方法(除非你要创建一个抽象类,这里不讨论)。因此所有实现IPricingPlan的类都必须定义一个calculateCommission()的方法。该方法的所有标记必须和接口定义的完全一样,所以它必须接受一个Trade对象,由于我们的两个PricingPlan类中都已经定义了calculateCommission()方法,因为我们没有必要作进一步的修改。如果你要创建新的PricingPlan类,你就必须实现IPricingPlan和相应的calculateCommission()方法。

  接着你可以修改Trade类的getCommissionPrice()方法来使用该接口:

  类名: Trade

public double getCommissionPrice()
{
 double commissionPrice = 0.0;

 IPricingPlan plan;

 if( getCustomer().getPlanId() == 1 )
 {
  plan = new PricingPlan20();
 }
 else
 {
  plan = new PricingPlan1510();
 }

 commissionPrice = plan.calculateCommission( this );
 return commissionPrice;
}

  要注意的是,你将PricingPlan变量定义为IPricingPlan接口。你实际创建的对象根据客户的标价计划而定。由于两个PricingPlan类都实现了IPricingPlan接口,所以你可以将两个新的实例赋给同一个变量。Java实际上并不关心实现该接口的实际对象,它只是关心接口。
共6页。 9 1 2 3 4 5 6 :

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众