Post

C# | Types of Classes

In C#, classes are the building blocks of object-oriented programming. They encapsulate data for the object and define methods to manipulate that data. There are various types of classes in C#, each serving different purposes. Let’s explore them with detailed examples.

1. Regular Classes

Regular classes are the most common type of classes in C#. They are used to define objects and their behavior.

Example:

1
2
3
4
5
6
7
8
9
10
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public void PrintDetails()
    {
        Console.WriteLine($"Name: {Name}, Age: {Age}");
    }
}

In this example, we define a Person class with properties Name and Age, and a method PrintDetails() to print the person’s details.

2. Abstract Classes

Abstract classes are used as base classes and cannot be instantiated directly. They can contain abstract methods that must be implemented by derived classes.

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public abstract class Shape
{
    public abstract double Area();
}

public class Rectangle : Shape
{
    public double Length { get; set; }
    public double Width { get; set; }

    public override double Area()
    {
        return Length * Width;
    }
}

In this example, Shape is an abstract class with an abstract method Area(). Rectangle is a concrete class that derives from Shape and implements the Area() method.

3. Static Classes

Static classes cannot be instantiated and can only contain static members. They are often used to group related utility methods together.

Example:

1
2
3
4
5
6
7
8
9
10
11
12
public static class MathUtils
{
    public static int Add(int a, int b)
    {
        return a + b;
    }

    public static int Multiply(int a, int b)
    {
        return a * b;
    }
}

In this example, MathUtils is a static class containing static methods for addition and multiplication.

4. Sealed Classes

Sealed classes cannot be inherited. They are often used to prevent further derivation or to increase security.

Example:

1
2
3
4
5
6
7
public sealed class FinalClass
{
    public void Method()
    {
        Console.WriteLine("Method in FinalClass");
    }
}

In this example, FinalClass is a sealed class that cannot be inherited by other classes.

5. Partial Classes

Partial classes allow a class’s members to be defined in multiple files. They are often used in large projects to organize code.

Example:

File 1 (Person.cs):

1
2
3
4
public partial class Person
{
    public string Name { get; set; }
}

File 2 (PersonAdditional.cs):

1
2
3
4
public partial class Person
{
    public int Age { get; set; }
}

In this example, Person is defined across two files, each containing a partial definition of the class.

What Next?

Understanding the different types of classes in C# is crucial for building robust and maintainable applications. Whether it’s regular classes for defining objects, abstract classes for defining base behavior, static classes for utility methods, sealed classes for security, or partial classes for organizing code, each type has its own purpose and use cases. Choose the appropriate type based on your requirements and design principles.

This post is licensed under CC BY 4.0 by the author.