1.
**Classes and Objects**
- A class is a blueprint for creating objects, defining properties and methods that represent the
characteristics and behavior of the objects.
- An object is an instance of a class.
2. **Encapsulation**
- Encapsulation restricts direct access to an object’s data, allowing only controlled interactions through
methods. In C#, it's implemented using access modifiers like `public`, `private`, `protected`, and
`internal`.
3. **Abstraction**
- Abstraction simplifies complex systems by only exposing the essential features and hiding the
implementation details. In C#, this is done through abstract classes and interfaces.
4. **Inheritance**
- Inheritance enables a class (derived/child class) to inherit fields and methods from another class
(base/parent class). This promotes code reuse and establishes a parent-child relationship.
5. **Polymorphism**
- Polymorphism allows one interface to be used for different data types. In C#, this is implemented via
method overriding (runtime polymorphism) and method overloading (compile-time polymorphism).
6. **Interfaces**
- Interfaces define a contract that classes can implement. They contain only the signatures of methods
and properties, and any class implementing the interface must provide definitions for them.
7. **Constructors and Destructors**
- Constructors initialize objects when they’re created, setting initial values for fields. Destructors clean
up resources before an object is destroyed, though they’re less commonly used in C# due to garbage
collection.
8. **Properties and Indexers**
- Properties provide controlled access to fields, supporting encapsulation. Indexers allow instances of a
class to be indexed like arrays.
9. **Events and Delegates**
- Delegates are like function pointers, allowing methods to be passed as arguments. Events use
delegates to define custom events, enabling a form of communication between objects.
Each of these concepts helps in designing structured, maintainable, and reusable code in C#. Let me
know if you'd like more detail on any specific concept!