2012-12-27 59 views
-1

我最近學習C#並理解基礎知識。我不寫下面的代碼,但試圖理解它。線類在聲明開始和結束字段時使用Point。這在C#中調用了什麼?當您從其他課程中創建一個課程時,它會被稱爲什麼?

public class Point 
{ 
    private float x; 

    public float X 
    { 
     get { return x; } 
     set { x = value; } 
    } 
    private float y; 

    public float Y 
    { 
     get { return y; } 
     set { y = value; } 
    } 

    public Point(float x, float y) 
    { 
     this.x = x; 
     this.y = y; 
    } 

    public Point():this(0,0) 
    { 
    } 

    } 

} 

class Line 
{ 
    private Point start; 

    public Point Start 
    { 
     get { return start; } 
     set { start = value; } 
    } 

    private Point end; 

    public Point End 
    { 
     get { return end; } 
     set { end = value; } 
    } 

    public Line(Point start, Point end) 
    { 
     this.start = start; 
     this.end = end; 
    } 

    public Line():this(new Point(), new Point()) 
    { 
    } 
+1

這是直接關係到你使用它的方式屬性的領域? *具有後臺字段的屬性*。 – Mir

+0

Shano,網上有很多非常棒的教程,可以解釋類,結構,屬性和字段從基本的開始,並且可以找到更復雜的示例,可以在這裏找到http://www.dotnetperls.com/類或上http://www.stackoverflow.com – MethodMan

+0

謝謝你將檢查他們:) – Shano

回答

2

我不確定你問什麼,但我想你想知道正確的術語:

public class Point // a class (obviously) 
{ 
    private float x; // private field; also the backing 
        // field for the property `X` 

    public float X // a public property 
    { 
     get { return x; } // (public) getter of the property 
     set { x = value; } // (public) setter of the property 
          // both are using the backing field 
    } 


    public float Y // an auto-implemented property (this one will 
    { get; set; } // create the backing field, the getter and the 
        // automatically, but hide it from accessing it directly) 

    public Point(float x, float y) // constructor 
    { 
     this.x = x; 
     this.Y = y; 
    } 

    public Point() // a default constructor that calls another by 
     : this(0,0) // using an "instance constructor initializer" 
    {} 
} 
+1

好的總結。我已經修復了一些小錯誤,並補充說第二個構造函數的調用稱爲「實例構造函數初始值設定項」。 –

+0

@EricLippert謝謝! :) – poke

+1

乾杯的傢伙爲你的幫助,但我想我發現什麼讓我困惑。我沒有說我的問題非常好!我遇到的問題是在Line Class中使用Point Class聲明字段和構造函數。它的所謂組成我相信和不同於繼承作爲它有一個關係。我現在會對此做更多的研究:)再次感謝! – Shano

相關問題