What are the differences between class methods and class members in C#?


A member function i.e. method of a class is a function that has its definition or its prototype within the class definition similar to any other variable. It operates on any object of the class of which it is a member, and has access to all the members of a class for that object.

The following is an example −

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

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

The following is an example showing how to access class member functions in C# −

Example

 Live Demo

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();
      }
   }
}

Output

Volume of Box1 : 504
Volume of Box2 : 6120

Member variables i.e. class members are the attributes of an object (from design perspective) and they are kept private to implement encapsulation. These variables can only be accessed using the public member functions.

Below length and width are member variables because a new instance of this variable will get created for each new instance of Rectangle class.

Example

 Live Demo

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();
      }
   }
}

Output

Length: 10
Width: 14
Area: 140

Updated on: 20-Jun-2020

711 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements