When can we use the abstract class in C#.NET?

Asked by Last Modified  

1 Answer

Learn .Net

Follow 1
Answer

Please enter your answer

In C#.NET, an abstract class is a class that cannot be instantiated and may contain abstract methods, which are methods without a body. Abstract classes are used when you want to provide a common base class for other classes but want to leave certain methods as abstract, letting the derived classes provide...
read more
In C#.NET, an abstract class is a class that cannot be instantiated and may contain abstract methods, which are methods without a body. Abstract classes are used when you want to provide a common base class for other classes but want to leave certain methods as abstract, letting the derived classes provide their own implementation. Here are some scenarios where you might use abstract classes: 1. **Common Base Class:** - You can use an abstract class to define a common base class for a group of related classes. This allows you to provide a shared set of fields, properties, and methods to the derived classes. ```csharp public abstract class Shape { public abstract double CalculateArea(); public abstract double CalculatePerimeter(); } public class Circle : Shape { public double Radius { get; set; } public override double CalculateArea() { return Math.PI * Math.Pow(Radius, 2); } public override double CalculatePerimeter() { return 2 * Math.PI * Radius; } } public class Square : Shape { public double SideLength { get; set; } public override double CalculateArea() { return Math.Pow(SideLength, 2); } public override double CalculatePerimeter() { return 4 * SideLength; } } ``` 2. **Enforcing a Contract:** - Abstract classes can define abstract methods that must be implemented by derived classes. This enforces a contract, ensuring that all derived classes provide their own implementation for specific methods. ```csharp public abstract class DatabaseConnection { public string ConnectionString { get; set; } public abstract void Open(); public abstract void Close(); public abstract void ExecuteQuery(string query); } ``` 3. **Partial Implementation:** - Abstract classes can provide a partial implementation of methods, leaving some parts to be implemented by derived classes. This is useful when there's common functionality shared among derived classes. ```csharp public abstract class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } public abstract void MakeSound(); } public class Dog : Animal { public override void MakeSound() { Console.WriteLine("Dog barks."); } } public class Cat : Animal { public override void MakeSound() { Console.WriteLine("Cat meows."); } } ``` 4. **Preventing Direct Instantiation:** - Since abstract classes cannot be instantiated directly, they prevent the creation of objects of the abstract class itself. Instances are created through derived classes. ```csharp // This is not allowed: // Animal animal = new Animal(); // This is allowed: Animal dog = new Dog(); ``` In summary, abstract classes are used in C#.NET when you want to provide a common base with some default implementation and leave certain methods to be implemented by derived classes. They help in creating a consistent and extensible class hierarchy. read less
Comments

Related Questions

What is the difference between asp.net and vb.net?
ASP.Net is known as a development platform for the web, which in turn is known to help create robust web applications. It is known to contain innumerous libraries which have a wide range of functionality....
Manshi
How to create a PhoneGap App from an MVC4 .NET project ?
PhoneGap applications are designed to host Single Page Applications (SPA). This is where a single HTML page with it's supporting resources such as javascript and css files are bundled into a package...
JK IT Training
U can host an application in ASP.NET using HTTP and File System, what will be the difference? why HTTP requires? is it mandatory to use IIS for latest ASP.NET applications too?
IIS is a deployment server. If you don't use HTTP while creating web application or if you don't install your web application in IIS, visual studio use IIS express IIS express is Development server,...
Pavan
How is .Net core 1.1 different from .Net core 1.0?
Its show up gradation of .net Version with some more components.
Prabhu
0 0
5

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

Service-Level Agreement (SLA) Definition
A service-level agreement (SLA) is a contract between a service provider and its internal or external customers that documents what services the provider will furnish. SLAs originated with network service...
M

Mohammad Shafi

0 0
0

CLR [ Common Language Runtime ] and it's properties
CLR is one of the components of the .NET framework which provides an environment to execute the .NET code or the managed code. , CLR helps in converting the MSIL/CIL code into native code and running...
R

Raga Deepthi G.

0 0
0

"foreach" loop in C#
foreach is a looping statement : repeats a group of statements for each element in an array or an object collection. (or) used to iterate through the collection/ an array to get the required information. Advantages: Easy...
R

Raga Deepthi G.

3 0
1

Migration from other languages to Salesforce
Anyone can easily migrate from other language to Salesforce. People must have skills to understand business logic.

Best way to learn any software Course
Hi First conform whether you are learning from a real time consultant. Get some Case Studies from the consultant and try to complete with the help of google not with consultant. Because in real time same situation will arise. Thank you

Recommended Articles

Hadoop is a framework which has been developed for organizing and analysing big chunks of data for a business. Suppose you have a file larger than your system’s storage capacity and you can’t store it. Hadoop helps in storing bigger files than what could be stored on one particular server. You can therefore store very,...

Read full article >

Whether it was the Internet Era of 90s or the Big Data Era of today, Information Technology (IT) has given birth to several lucrative career options for many. Though there will not be a “significant" increase in demand for IT professionals in 2014 as compared to 2013, a “steady” demand for IT professionals is rest assured...

Read full article >

Business Process outsourcing (BPO) services can be considered as a kind of outsourcing which involves subletting of specific functions associated with any business to a third party service provider. BPO is usually administered as a cost-saving procedure for functions which an organization needs but does not rely upon to...

Read full article >

Microsoft Excel is an electronic spreadsheet tool which is commonly used for financial and statistical data processing. It has been developed by Microsoft and forms a major component of the widely used Microsoft Office. From individual users to the top IT companies, Excel is used worldwide. Excel is one of the most important...

Read full article >

Looking for .Net Training ?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you