Template Method(模板方法)

一个不错的视频教程: https://www.bilibili.com/video/av41443026/?p=1

个人理解: 就好像领导给你一个表格让你填,表格本身就是个模板,你必须在它规定的 年龄栏中填写你的年龄,在个人能力栏中填写自己的个人能力,你领导看完你填的表格,又给了你对面同事一张让他填,虽然你们的表格(抽象类或接口)都一样,但是你们填写的具体的年龄和个人能力(具体实现方法)因人而异,这就是模板方法。

其实就是: 接口或者抽象类定义好方法框架(稳定的),实现类(变化的)去遵循这个定义好的框架,但是实现类中每个方法的具体实现是实现类根据自己情况写的(如:Activity中的onCreate()方法)

举个简单例子:

这是一个模板 哪里结婚都要彩礼的

interface 结婚 {   
    fun 彩礼()
}

张三结婚了,他的媳妇是仙女,天上的彩礼可不便宜,于是他结婚所需要的彩礼是10w

class 张三  : 结婚 {
    override fun 彩礼() {
       Log.e("AAA","我花费了10w娶了个仙女")
    }
}

李四也结婚了,他的媳妇是某个农村的平凡姑娘,他的彩礼是50w,丈母娘说少一分都不行!!!由于两人爱的深切,所以李四借钱结了婚~

class 李四: 结婚 {
    override fun 彩礼() {
       Log.e("AAA","我花费了50w娶了个平凡姑娘")
    }
}

总结: 模板方法 找出共性进行封装,减少重复代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值