Topic: 请教大家一个问题!

  Print this page

1.请教大家一个问题! Copy to clipboard
Posted by: sunxiaoming
Posted on: 2006-11-20 21:41

我想在一个接口中定义一个方法,然后用两个类去实现这个接口的方法.
这两个类给这个接口传入的参数类型或个数不同,我不清楚在这个接口定义的时候在它的参数中应该怎么写!(是不是我这样想本来就是错的)
比如 在接口中一个add()方法,然后用两个类去实现这个方法一个 类传入int型的参数, 一个类传入double型的参数!(问:add()中的参数怎么写)

(我不想在这个接口中用重载,我知道那样可以实现我想做的)

2.Re:请教大家一个问题! [Re: sunxiaoming] Copy to clipboard
Posted by: whiye
Posted on: 2006-11-21 08:07

参数定义为object型不就行了,

3.Re:请教大家一个问题! [Re: sunxiaoming] Copy to clipboard
Posted by: cxp108
Posted on: 2006-11-21 08:48

LZ这种想法我认为是不正确的,但依然可以实现,就像楼上说的那样,将参数声明成Object,然后函数具体实现的时候进行转型。

当你使用一个interface的时候,目的就是为了隐藏类的具体实现,也就是调用者只看得到interface而看不到class。 LZ的这种做法会导致interface中的行为定义模糊,调用者不得不在调用前检查这个interface 的reference的具体型别,实现这个interface的class也必须对调用者传入的参数进行型别检查。这样,interface的优点就几乎消失了。
所以,不到万不得已的情况下还是不要作这样的设计比较好。

4.Re:请教大家一个问题! [Re: sunxiaoming] Copy to clipboard
Posted by: sunxiaoming
Posted on: 2006-11-21 11:59

3Q
呵呵 我试试object 型!
谢谢楼上的大侠的解释.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923