java8之行为参数化(函数为值化)

本文通过生动案例介绍行为参数化的概念及其应用价值。利用行为参数化可以有效应对需求变化,减少重复编码工作,提高代码复用性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试想一下刚学面向对象的时候,我们常常会定义一个person类

这个对象有自己的属性----------------年龄,性别,身高....

这个对象也有自己对应的属性-------吃饭,睡觉,打豆豆.....

美中不足的是,比如我们调用吃饭的方法.这个对象只会执行相同的操作,说直观一点.我想在他吃饭的之前喝点小酒,吃饭之后走几步消消食.

大家一定想到了代理.这是一种解决方式.但是有没有其他更完美的解决方式呢?

行为参数化--帮我们解决了.顾名思义,就是把行为作为参数传递给我们方法


在试想一个案例

果农想让程序员帮忙筛选出一车苹果中的青苹果,我们可以写一个青苹果filter进行筛选

果农想让程序员帮忙筛选出一车苹果中的红苹果,我们可以写一个红苹果filter进行筛选

果农想让程序员帮忙筛选出一车苹果中的红苹果,青苹果,紫苹果,我们可以写一个多参数的filter进行筛选

果农想让程序员帮忙筛选出一车苹果中的红苹果和重于500克的苹果,我们再可以写一个多参数的filter进行筛选

有没有觉得很累,有没有办法只需要写一个filter就可以完成这些事儿.


看完上篇文章你应该会写这样的代码



行为参数化,就是一个方法接受多个不同的行为作为参数,并在内部消费他们,完成不同行为的能力

行为参数化可以让代码更好的适应不断变化的要求,减轻未来的工作量


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值