Properties vs Methods

后端 未结 16 1690
傲寒
傲寒 2020-11-22 08:23

Quick question: When do you decide to use properties (in C#) and when do you decide to use methods?

We are busy having this debate and have found some areas where it

16条回答
  •  -上瘾入骨i
    2020-11-22 08:27

    Properties are a way to inject or retrieve data from an object. They create an abstraction over variables or data within a class. They are analogous to getters and setters in Java.

    Methods encapsulate an operation.

    In general I use properties to expose single bits of data, or small calculations on a class, like sales tax. Which is derived from the number of items and their cost in a shopping cart.

    I use methods when I create an operation, like retrieving data from the database. Any operation that has moving parts, is a candidate for a method.

    In your code example I would wrap it in a property if I need to access it outside it's containing class:

    public Label Title 
    {
       get{ return titleLabel;}
       set{ titleLabel = value;}
    }
    

    Setting the text:

    Title.Text = "Properties vs Methods";
    

    If I was only setting the Text property of the Label this is how I would do it:

    public string Title 
    {
       get{ return titleLabel.Text;}
       set{ titleLabel.Text = value;}
    }
    

    Setting the text:

    Title = "Properties vs Methods";
    

提交回复
热议问题