2009-01-22 92 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。

所以不,我沒有看到只有屬性的接口沒有問題。他們仍然是方法。