在 C# 中,類方法和類成員之間的區別是什麼?


成員函式,即類的函式方法,是在類定義中與任何其他變數類似地擁有其定義或其原型的函式。它操作其所屬類的任何物件,並可以訪問該物件中該類所有成員。

以下示例 -

public void setLength( double len ) {
   length = len;
}

public void setBreadth( double bre ) {
   breadth = bre;
}

以下示例展示瞭如何在 C# 中訪問類成員函式 -

示例

 線上演示

using System;

namespace BoxApplication {
   class Box {
      private double length; // Length of a box
      private double breadth; // Breadth of a box
      private double height; // Height of a box

      public void setLength( double len ) {
         length = len;
      }

      public void setBreadth( double bre ) {
         breadth = bre;
      }

      public void setHeight( double hei ) {
         height = hei;
      }

      public double getVolume() {
         return length * breadth * height;
      }
   }

   class Boxtester {
      static void Main(string[] args) {
         Box Box1 = new Box(); // Declare Box1 of type Box
         Box Box2 = new Box();
         double volume;

         // Declare Box2 of type Box
         // box 1 specification
         Box1.setLength(8.0);
         Box1.setBreadth(9.0);
         Box1.setHeight(7.0);

         // box 2 specification
         Box2.setLength(18.0);
         Box2.setBreadth(20.0);
         Box2.setHeight(17.0);

         // volume of box 1
         volume = Box1.getVolume();
         Console.WriteLine("Volume of Box1 : {0}" ,volume);

         // volume of box 2
         volume = Box2.getVolume();
         Console.WriteLine("Volume of Box2 : {0}", volume);

         Console.ReadKey();
      }
   }
}

輸出

Volume of Box1 : 504
Volume of Box2 : 6120

成員變數,即類成員是物件的屬性(從設計角度考慮),它們處於私有狀態以實施封裝。這些變數只能使用公有成員函式進行訪問。

下面的 length 和 width 是成員變數,因為對於 Rectangle 類的每個新例項,都將建立一個這個變數的新例項。

示例

 線上演示

using System;

namespace RectangleApplication {
   class Rectangle {
      //member variables
      private double length;
      private double width;

      public void Acceptdetails() {
         length = 10;
         width = 14;
      }

      public double GetArea() {
         return length * width;
      }

      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }

   }//end class Rectangle

   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine();
      }
   }
}

輸出

Length: 10
Width: 14
Area: 140

更新於: 20-6 月-2020

900 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.