2012-01-12 64 views
2

即時嘗試創建一個具有內置條件的類爲其屬性之一。因爲我對oop很陌生,所以我想問一下哪些技巧應該做,以及如何實現它們。條件類屬性?

假設我有一個類:

public class Item 
{ 
    private string itemName; 
    public string ItemName 
    { 
     get { return itemName; } 
     set { itemName = value; } 
    } 

    private bool isPerishable; 
    public bool IsPerishable 
    { 
     get { return isPerishable; } 
     set { isPerishable = value; } 
    } 

    private DateTime expiryDate; 
    public DateTime ExpiryDate 
    { 
     get { return expiryDate; } 
     set { expiryDate = value; } 
    } 
} 

我只是想有內置的邏輯類(也許方法或某事),如果isPerishable是真的,那麼它要求的到期日。這個邏輯可以在Main程序之外調用嗎?請發表一個例子如何實現這一目標。

+0

然後_what_要求失效日期?這種邏輯應該建立在您的應用程序中,而不是類,或者甚至更好地構建到驗證類中。 – 2012-01-12 03:11:53

回答

2
private bool isPerishable; 
public bool IsPerishable 
{ 
    get { return isPerishable; } 
    set 
    { 
     isPerishable = value; 
     if(value && expiryDate == default(DateTime)) 
     { 
     Console.Write("Enter an expiry date: "); 
     expiryDate = Date.Parse(Console.ReadLine()); 
     }   
    } 
}