Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความแตกต่างระหว่างเมธอดของคลาสและสมาชิกคลาสใน 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

ตัวแปรสมาชิก เช่น สมาชิกของคลาสคือแอตทริบิวต์ของวัตถุ (จากมุมมองของการออกแบบ) และจะถูกเก็บไว้เป็นส่วนตัวเพื่อใช้การห่อหุ้ม ตัวแปรเหล่านี้สามารถเข้าถึงได้โดยใช้ฟังก์ชันสมาชิกสาธารณะเท่านั้น

ความยาวและความกว้างด้านล่างเป็นตัวแปรสมาชิก เนื่องจากอินสแตนซ์ใหม่ของตัวแปรนี้จะถูกสร้างขึ้นสำหรับอินสแตนซ์ใหม่ของคลาส 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