您的位置:首页 > 编程语言 > Java开发

java简单编程思想

2014-02-28 13:10 681 查看
抽象类必须要被继承的

 

通过一个案例说明抽象类和接口额使用。在一个超市的管理软件中,所有的商品读具有价格,我们可以把商品的价格、设置和获取商品价格的方法,定义成一个抽象类Goods:

             abstract  class  Goods {

                      protected   double   cost;

                      abstract  public  void  setCost();

                      abstract public   double  getCost();

             }

某些商品,例如食品,具有一定保质期,我们需要为这类商品设置过期日期,并希望在过期时,能够通知过期消息。对于这样的行为,我们是否可以把他们也整合在类Goods中呢?显然这并不合适,因为对于其他商品来说,并不存在这样的行为,比如服装,而Goods中的方法,应该是所有子类公有的行为。我们可以将过期这样的行为,设计在一个借口Expiration中,Goods的子类可以选择是否实现该接口。

           interface Expiration {

                        void  setExpiration();

                        void expira();

             }

 

对于服装这类商品,我们需要继承抽象类Goods中的属性和方法,对于其中的抽象方法必须提供具体的实现,置于Expiration接口可以完全不管。而食品这样的商品,我们既要继承Goods抽象类,又要实现Expiration接口

 

class  Clothes  extends  Goods  {

         public  vod   setCost() {   ......   }

         public  double  getCost() {

               return cost;

         }

 

}

 

class Food extends Goods  implements  Expiration  {

   .....................

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: