Skip to main content

Classes in C#

In C#, a class is a blueprint for creating objects. It defines properties, methods, and events that represent the characteristics and behaviors of an object.


1. What is a Class?

A class in C# defines the structure and behavior of objects. It includes fields, properties, methods, and constructors.

Example:

public class Car {
public string color = "red";
public void Drive() {
Console.WriteLine("The car is driving.");
}
}

This example defines a class Car with a property color and a method Drive.


2. Defining a Class

In C#, classes are defined using the class keyword.

Syntax:

public class ClassName {
// fields, properties, methods, and constructors
}

Example:

public class Person {
public string Name;
public int Age;
}

3. Fields in Classes

Fields are variables that hold data related to an object. They are typically private but can be public as well.

Example:

public class Person {
public string Name; // Field
}

4. Properties

Properties provide controlled access to fields and use get and set accessors.

Example:

public class Person {
private string name;

public string Name {
get { return name; }
set { name = value; }
}
}

5. Methods in Classes

Methods define actions that an object can perform.

Example:

public class Car {
public void Drive() {
Console.WriteLine("The car is driving.");
}
}

6. Constructors

Constructors initialize an object when it is created.

Example:

public class Person {
public string Name;

public Person(string name) {
Name = name; // Constructor initializes the Name property
}
}

7. Access Modifiers

Access modifiers control the visibility of class members (public, private, protected).

Example:

public class Car {
private string color; // Private member
public void SetColor(string c) {
color = c; // Public method to set color
}
}

8. Static Classes and Members

Static classes cannot be instantiated, and static members belong to the class itself rather than an instance.

Example:

public static class Utility {
public static void PrintMessage(string message) {
Console.WriteLine(message);
}
}

Summary

Classes are essential for object-oriented programming in C#. They provide a way to organize data and behaviors in your programs, making them more modular and maintainable.

Happy coding!