abstract class in C# hindi

C# Abstract Class in Hindi

आज हम इस पोस्ट में c# Abstract Class के बारें में पढेंगे तो चलिए शुरू करते है.

C# Abstract Class, C# class की तरह ही होती है सिर्फ फर्क इतना होता है कि C# Class का आप object create कर सकते हो लेकिन

C# Abstract Class का Object create नहीं कर सकते! इसका मतलब यह है की Abstract Class का Object Create नहीं होता है!

C# Abstract class एक special class होती है क्यूंकि हम Abstract class का object create नहीं कर सकते!

हम Abstract class को एक Base class की तरह use कर सकते है! Abstract class मे abstract और non-abstract दोनों तरह के method हो सकते है!

आप override keyword की मदद से एक abstract method को non-abstract class मे जरूर implement करोगे यह compulsory होता है!

अगर आप C# की किसी class को abstract class बनाना चाहते हो तो आप को abstract keyword का इस्तमाल करना होगा!

Syntax to create Abstract Class

abstract class <class-name>

आइये इसको एक example से समझते है!

public abstract class Shape

{
private double width;
private double height;
private string name;
public Shape()
{
width = 0.0 ;
height = 0.0
name = “null”;
}
public Shape(double w, double h, string n)
{
width = w;
height = h;
name = n;
}
public Shape(double x, string n)
{
width = height = x;
name = n;
}

// Abstract Method

public abstract double area();
}

ऊपर दिए गये example मे हमने एक Shape नाम की एक abstract class बनाई है! इस abstract class मे  तीन constructor बनाये हैं!

अब हम जानते हैं कि abstract class को use कैसे करते है!

How to use C# abstract class with Example :

आइये अब उदाहरण के द्वारा देखते है कि abstract class का प्रयोग कैसे करते है:-

using System;
public abstract class Shape
{
private double width;
private double height;
private string name;
public Shape()
{
width = 0.0 ;
height = 0.0;
name = “null”;
}
public Shape(double w, double h, string n)
{
width = w;
height = h;
name = n;
}
public Shape(double x, string n)
{
width = height = x;
name = n;
}

// Abstract Method

public abstract double area();
}
class Triangle : Shape
{
private string name ;
public Triangle()
{
name = “null”;
}
public Triangle(string s, double w, double h) :  base(w, h, “triangle”)
{
name = s;
}

//Implementation of Abstract Method

public override double area()
{
return width * height / 2;
}
}
class Rectangle : Shape
{
public Rectangle(double w, double h) :  base(w, h, “rectangle shape”){ }
public Rectangle(double x) :  base(x, “rectangle shape”) { }
public bool isSquare()
{
if(width == height)
return true;
return false;
}

//Implementation of Abstract Method

public override double area()
{
return width * height;
}
}
class MainClasss
{
public static void Main()
{
Shape[] shapes = new Shape[4];
shapes[0] = new Triangle(“right angle triangle”, 8.0, 12.0);
shapes[1] = new Rectangle(10);
shapes[2] = new Rectangle(10, 4);
shapes[3] = new Triangle(7.0);
for(int i=0; i < shapes.Length; i++)
{
Console.WriteLine(“object is ” + shapes[i].name);
Console.WriteLine(“Area is ” + shapes[i].area());
Console.WriteLine();
}
}
}

ऊपर दिये गये example मे हमने एक abstract class Shape और दो non-abstract class (Triangle and Rectangle) बनाई है
और एक MainClasss बनाई है जिसकी help से हम Triangle और Rectangle class के methods को call कर रहे हैं!

अगर आप ध्यान दे तो हमने Shape class मे एक abstract method बनाया है जिसका नाम है area. क्यूंकि हर shape का एक area होता है इसलिए हमने area method को abstract बनाया है! इस method को हर एक class implement करेगी ही क्यूंकि यह एक abstract method है!

इस abstract method को जब कोई class implement करेगी तो उसको override keyword का इस्तमाल करना होगा! जैसा की आप example मे देख सकते हो!

MainClasss मे हमने Triangle और Rectangle class का reference variable, Shape class के object को पास किया है जिससे Triangle और Rectangle class का constructor call हुआ है!

जब हम abstract class मे कोई abstract method बनाते हैं तब जो class abstract class को inherit करती है तब उस class की responsibility हो जाती है कि वो उस class को inherit करे अगर वो class उस abstract method को implement नहीं करती तो प्रोग्राम मे compile time error आ जाती है और फिर for loop की help से सभी values को display किया है!

इसे भी पढ़ें:- c# interface क्या है?

निवेदन:- अगर आपके लिए c# abstract class की यह पोस्ट helpful रही हो तो कमेंट के द्वारा बताइए तथा इसे अपने दोस्तों के साथ share करें. धन्यवाद.

Leave a Comment