A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卢其龙 黑马帝   /  2012-1-5 12:16  /  4029 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 卢其龙 于 2012-1-10 15:04 编辑

首先在此祝张老师一路走好
-------------------------------------------
两个石头磨成一把石刀,石刀可以砍树,伐成木头,木头可以做成椅子


//这里只写 石头磨成石刀
//我主要感觉有两点  1继承:石刀属于石头(这样有利于以后扩展)
                                 2静态方法:这个在石头里,由于不是石头自身操作,用静态更好.
不知道我理解的对吗?大家有什么看法?

石头
{
    public static 石刀 磨 (石头,石头)
    {
        return  石刀
     }
}
石刀 extends 石头
{
  public 木头 砍树 (树)
{
     木头
}
}

{
}
木头 extends 树
{
}
椅子
{
}
入口
{
    石刀  小李飞刀 = 石头.磨(石头,石头);
}

4 个回复

倒序浏览
{:soso_e114:} ,  石刀 继承 石头
                 木头 继承 树
  
回复 使用道具 举报
石头
{
    public static 石刀 磨 (石头,石头)
    {
        return  石头    //-----这边是不是应该为“return 石刀”
     }
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报

石头
{
    public static 石刀 磨 (石头,石头)
    {
        return  石头    //-----这边是不是应该为“return 石刀”
     }
}
----------------------------------已修改
回复 使用道具 举报
我觉得lz的说法有些不妥,石刀既然是石头的子类,那作为子类的石刀怎么能在父类中生成呢?

与其写石头磨的方法,不如写成石刀的构造方法
石刀

    private 石刀(){}
    public 石刀(石头1,石头2){}
    public 木头 砍树(树)
    {
        return 木头;
    }


既然是石刀的类生产出石刀的对象,那磨的动作也就等同于石刀的构造过程,如果没有两块石头对象,石刀也不会产生的
这样同理也可以让木头,椅子用这样的方式产生:

new 椅子(new 木头(new 石刀(石头1,石头2).砍树(new 树())));
new Chair(new Wood(new StoneKnife(stone1,stone2 ).cut(new Tree())));

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马