耦合,参数传递

耦合的3个标准:
规模:模块的连接数。越少越好。
可见性:连接的显著程度。越明显越好。
灵活性:模块之间的连接是否容易改变。
其实对于灵活性的理解会和参数传递中传递对象,还是对象中的成员有关联。
按照灵活性来说传递的该是对象中的成员。
当然也不能一味的为了灵活性而只传对象中的成员。

更多确定是传对象还是成员还得根据子程序的抽象层次决定。这其实信息隐藏的一个方面:有些信息隐藏在子程序中,而有些信息隐藏对子程序是隐藏的。信息按照有必要了解的原则进行传递。

有时候你发现有一对数据总是会结对出现,比如说经纬度。那么可以把这二个参数作为一个对象来传递。

耦合种类:
简单数据耦合:模块传递简单数据
简单对象耦合:传递简单对象
对象参数耦合:一个模块需要另一个模块传给它第三个模块。
语义耦合:
1.method(int type)
{
if(type=0){...}
if(type=1){....}
}
这就需要调用它的模块知道其内部细节。
2.method(ObjectA a){
a.getId();
a.getName();
}
然后我们在调用这个方法的时候只初始化了a的这二个成员。
(这个似乎又于灵活性那段有关。)
3.method(BascicObjecA a){
(ObjecA) a.method();
}

传递对象的是个接口或父类,在调用时我们向下转型了。并且调用了特定方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值