When you define a class, you define a blueprint for a data type. This does not actually define any data, but it does define what the class name means.That is, what an object of the class consists of and what operations can be performed on that object. Objects are instances of a class. The methods and variables that constitute a class are called members of the class.
A class definition starts with the keyword class followed by the class name; and the class body enclosed by a pair of curly braces. Following is the general form of a class definition
using System;using System.Collections;using System.Collections.Generic;namespace ConsoleApp2022{class Box{public double length; // Length of a boxpublic double breadth; // Breadth of a boxpublic double height; // Height of a box}class Boxtester{static void Main(string[] args){Box Box1 = new Box(); // Declare Box1 of type BoxBox Box2 = new Box(); // Declare Box2 of type Boxdouble volume = 0.0; // Store the volume of a box here// box 1 specificationBox1.height = 5.0;Box1.length = 6.0;Box1.breadth = 7.0;// box 2 specificationBox2.height = 10.0;Box2.length = 12.0;Box2.breadth = 13.0;// volume of box 1volume = Box1.height * Box1.length * Box1.breadth;Console.WriteLine("Volume of Box1 : {0}", volume);// volume of box 2volume = Box2.height * Box2.length * Box2.breadth;Console.WriteLine("Volume of Box2 : {0}", volume);Console.ReadKey();//Volume of Box1: 210//Volume of Box2: 1560}}}
A member function 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
using System;using System.Collections;using System.Collections.Generic;namespace ConsoleApp2022{class Box{private double length; // Length of a boxprivate double breadth; // Breadth of a boxprivate double height; // Height of a boxpublic 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 BoxBox Box2 = new Box();double volume;// Declare Box2 of type Box// box 1 specificationBox1.setLength(6.0);Box1.setBreadth(7.0);Box1.setHeight(5.0);// box 2 specificationBox2.setLength(12.0);Box2.setBreadth(13.0);Box2.setHeight(10.0);// volume of box 1volume = Box1.getVolume();Console.WriteLine("Volume of Box1 : {0}", volume);// volume of box 2volume = Box2.getVolume();Console.WriteLine("Volume of Box2 : {0}", volume);Console.ReadKey();//Volume of Box1: 210//Volume of Box2: 1560}}}
A class constructor is a special member function of a class that is executed whenever we create new objects of that class
A default constructor does not have any parameter but if you need, a constructor can have parameters. Such constructors are called parameterized constructors
using System;using System.Collections;using System.Collections.Generic;using System.Net.NetworkInformation;namespace ConsoleApp2022{class Line{private double length; // Length of a linepublic Line(double len) //Parameterized constructor{Console.WriteLine("Object is being created, length = {0}", len);length = len;}public void setLength(double len){length = len;}public double getLength(){return length;}static void Main(string[] args){Line line = new Line(10.0);Console.WriteLine("Length of line : {0}", line.getLength());// set line lengthline.setLength(6.0);Console.WriteLine("Length of line : {0}", line.getLength());Console.ReadKey();//Object is being created, length = 10//Length of line: 10//Length of line: 6}}}
A destructor is a special member function of a class that is executed whenever an object of its class goes out of scope. A destructor has exactly the same name as that of the class with a prefixed tilde (~) and it can neither return a value nor can it take any parameters
Destructor can be very useful for releasing memory resources before exiting the program. Destructors cannot be inherited or overloaded.
using System;using System.Collections;using System.Collections.Generic;using System.Net.NetworkInformation;namespace ConsoleApp2022{class Line{private double length; // Length of a linepublic Line() // constructor{Console.WriteLine("Object is being created");}~Line() //destructor{Console.WriteLine("Object is being deleted");}public void setLength(double len){length = len;}public double getLength(){return length;}static void Main(string[] args){Line line = new Line();// set line lengthline.setLength(6.0);Console.WriteLine("Length of line : {0}", line.getLength());//Object is being created//Length of line: 6//Object is being deleted}}}
We can define class members as static using the static keyword. When we declare a member of a class as static, it means no matter how many objects of the class are created, there is only one copy of the static member.
The keyword static implies that only one instance of the member exists for a class. Static variables are used for defining constants because their values can be retrieved by invoking the class without creating an instance of it. Static variables can be initialized outside the member function or class definition. You can also initialize static variables inside the class definition.
using System;using System.Collections;using System.Collections.Generic;using System.Net.NetworkInformation;namespace ConsoleApp2022{class StaticVar{public static int num;public void count(){num++;}public static int getNum(){return num;}}class StaticTester{static void Main(string[] args){StaticVar s = new StaticVar();s.count();s.count();s.count();Console.WriteLine("Variable num: {0}", StaticVar.getNum());Console.ReadKey();//Variable num: 3}}}
Quick Links
Legal Stuff
Social Media