Student02370236关于【关于用多态取代条件判断】

我想不能说是多态取代了if/switch,而是在面向对象这个环境下,多态更好的完成了if/switch的功能.
因为没有现成的代码,我就简单写一下,是一个树型组件的例子:一个树简单地分为分支和叶子,当前结点是一个分支点的时候需要调用分支对象的writer()方法,当前结点是叶子结点的时候要调用叶子对象的writer()方法.同样的方法实现了不同的功能,产生了不同的效果,这就是多态的一个应用.
代码(随便写的,主要突出多态的write方法):
public class Tree{
    private Branch[] branchs;
   
    public String write(){
        for (int i=0;i<branchs.length;i++){
            branchs[i].wirte();
        }
    }
}

class Branch{
    private Leaf[] leafs;

    public String write(){
        for (int i=0;i<leafs.length;i++){
            leafs[i].write();
        }
    }
}

class Leaf{
   private String text="";
   private String id="";
   private String name="";
   private String value="";
   ...

   public String write(){
       return ...LeafString...;//LeafString表示在实际树型组件中叶子结点的HTML串
   }
}

上面那样的设计方式也是一种设计模式的简单实现,即组合模式 

感谢  Student02370236

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值