物件導向無痛入門(3)-基本建立類別 國際原油價格來到126?!那接下來呢?
五月 19

  我們在上一篇 物件導向無痛入門(3)-基本建立類別 的正妹範例中有用到 屬性(Property) 來約束所輸入的條件值,屬性 (Property) 的使用時機是來確保 USER 所輸入的值是正確的,而避免錯誤產生。

  屬性(Property) 分為唯讀區,跟唯寫區,什麼意思呢?就是說在 GET 一區的值只可以讀出,SET 一區的值只可以寫入由於設計類別是供自己或其他程設師使用,如果輸入的值沒有加以管制的話,那麼很容易就會有錯誤產生。

範例1:計算發票金額
  沒有設定 屬性(Property) 時,如果使用者輸入 -100,那麼算出的金額就會變負項,這樣很容易產生錯誤

VB.NET:
  1. Public Class Rat
  2.     '計算發票的稅金
  3.     Private _price As Int32
  4.     Sub New(ByVal price As Int32)
  5.         Me._price = price
  6.     End Sub
  7.     '計算稅金的方法
  8.     Function rate()
  9.         Dim r As Int32 = 0
  10.         r = Me._price * 0.05
  11.         Return r
  12.     End Function
  13. End Class

範例2:
  設定 屬性(Property) 時,如果使用者輸入 -100,那麼本金就會設定成 0,輸出的稅金自然也會是 0,這樣可以避免錯誤的產生

VB.NET:
  1. Public Class Rat
  2.     '計算發票的稅金
  3.     Private _price As Int32
  4.     Sub New(ByVal price As Int32)
  5.         Me.price = price
  6.     End Sub
  7.     Private Property price() As Int32
  8.         Get
  9.             Return Me._price
  10.         End Get
  11.         Set(ByVal value As Int32)
  12.             If value <0 Then
  13.                 Me._price = 0
  14.             Else
  15.                 Me._price = value
  16.             End If
  17.         End Set
  18.     End Property
  19.     Function rate()
  20.         Dim r As Int32 = 0
  21.         r = Me._price * 0.05
  22.         Return r
  23.     End Function
  24. End Class

標籤:


本篇文章引用網址:

其他隨機文章:
  • C# string.Format輸出格式
  • [教學] Photoshop邊框製作
  • 萬點大夢
  • 原物料的興衰
  • 重要股市資訊


  • 2 個回應在 “物件導向無痛入門(4)-屬性(Property)的概念”

    1. CFT 說道:

      解釋的太棒了!!
      寫OOP六七年了..
      這是第一次覺得有人可以把它解釋的如此完美!!
      回想起當初課堂上那位不知道在唸什麼的老頭..嘆~
      像這樣四章不就把它漂 亮的說清了嗎
      謝謝版大..您太優了..

      PS.不過好像有點只適合男性看懂..開玩笑的..XD

      [回應]

    2. @@ 說道:

      “物件導向無痛入門(5)-"呢?

      [回應]


    寫下回應