聊聊抽象类的使用心得

聊聊抽象类的使用心得

抽象类是一个半接口半实现类的类,既可写抽象方法让子类实现,也可写具体方法实现自己独特的功能。

看例子:

请假类 Leave

public class Leave extends ClassTeacher{
    @Override
    public String content() {
        return "请假内容(理由,去向,时间)";
    }
}

班主任类 ClassTeacher

public abstract class ClassTeacher extends Dean {

    protected final String classTeacherSignature() {
        return "班主任签名 + " + content();
    }

    public abstract String content();
}

院长类 Dean

public abstract class Dean extends Seal{

    protected final String deanSignature() {
        return "院长签名 + " + classTeacherSignature();
    }

    protected abstract String classTeacherSignature();
}

盖章类 Seal

public abstract class Seal {

    protected final String sealSignature() {
        return "盖章签名 + " + deanSignature();
    }

    protected abstract String deanSignature();
}

main函数

public class abstractTestMain {
    public static void main(String[] args) {
        Leave leave = new Leave();
        System.out.println(leave.content());
        System.out.println(leave.classTeacherSignature());
        System.out.println(leave.deanSignature());
        System.out.println(leave.sealSignature());
    }
}

输出

请假内容(理由,去向,时间)
班主任签名 + 请假内容(理由,去向,时间)
院长签名 + 班主任签名 + 请假内容(理由,去向,时间)
盖章签名 + 院长签名 + 班主任签名 + 请假内容(理由,去向,时间)

谈谈这里的设计:
同学们要请假外出,要自己先在请假申请书上填好请假内容,理由、去向和时间等。然后带着请假申请书找班主任签名,接着找院长签名,最后找专门负责盖章的老师盖章。

在这里插入图片描述

这是一个整体的流程,请假外出必须要走完这一个流程才能出校,这一流程的每一部分都是以前一步为前提的,要班主任签字你得先写请假理由,院长签字得先看到班主任的签名,盖章老师需要看到班主任和院长的签名才能盖章。

每一步都只做自己该做的事,这个事和整个流程相关,没有了不行。

在实际的项目中遇到那种需要分步完成的则可以添加抽象类和抽象方法来实现,每一步尽可能细分这一步该干的可以干的活就安排给它干,不该干的就另外新建一个抽象类将其放在新建的抽象类,这个各司其职,也能更好地通过类名来理解类实际要做的事。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值