2009-01-22 83 views

回答

1

如果您打算拥有一组具有类似基本结构的数据对象,这将有意义。

2

无论接口是否有方法,都没关系。接口公开的成员应该受该接口客户端的要求驱动。

5

想象一下,我们有两个不同的类不能从同一个基础派生:用户和业务。在我们项目的某个阶段,我们决定用户和企业都需要参考地址的元素,例如Street1,Street2,City,State和Zip。我们也有一些代理类,需要能够直接操纵这些值,而不管它们是在哪个类中定义的。

完成此操作的一种方法是创建一个如此类似的接口(在c#中的示例) ):

public interface IHasAddress { 
    public string Street1 { get; set; } 
    public string Street2 { get; set; } 
    public string City { get; set; } 
    public string State { get; set; } 
    public string Zip { get; set; } 
} 

现在,我们可以在其他的类,它下面的方法:

public static class Test { 
    public static void CheckZip(IHasAddress addressContainer) { 
    if (addressContainer == null) return; 
    if (addressContainer.Zip == "33314") addressContainer.State = "FL"; 
    } 
} 

只要用户和商业实现IHasAddress接口,下面的代码可以编译和工作如预期的那样:

User user = new User(); 
Business business = new Business(); 
Test.CheckZip(user); 
Test.CheckZip(business); 

这是一个纯粹的理论问题/解决方案,但它确实证明这种结构非常好的需求。

0

这是在Java获得适当的枚举前定义一堆相关常量的常用方法。

0

我看不出有什么问题。如果你的应用程序需要一个合同来实现一堆属性,那就这样吧。

1

不要忘记,属性只不过是通常命名的方法get _ PropertyName或设置_ PropertyName。

所以不,我没有看到只有属性的接口没有问题。他们仍然是方法。