Welcome to the Object Oriented Programming section of C# Corner. In this section, you will find OOP and OOD related tutorials, books, articles, source code samples, videos, and discussions.


  • Basic Object Oriented Programming (OOP) Concepts

    In this article you will learn about the basics of Object Oriented Programming (OOP).
  • Object Oriented Programming With A Real-World Scenario

    This article is mainly intended for those already familiar with Object Oriented Programming (OOP) conceptually but are unable to link it with the real world and the programming world.
  • Abstract Class & Interface: Two Villains of Every Interview - Part 2

    This article explains the important key points of interfaces in C#. Learn what is interface, why we need an interface, how to define a C# interface.
  • Abstract Class & Interface: Two Villains of Every Interview - Part 1

    This article explains the important key points of Abstract Class in C#. Learn what is an Abstract Class, how to define an Abstract Class, and why do we need an Abstract Class.
  • Introduction to Object Oriented Programming Concepts in C#

    This article defines Object Oriented Programming concepts in C# including Abstraction, Encapsulation, Inheritance and Polymorphism. Includes Code Examples in C# and .NET.
  • Abstract Class And Interface - Two Pillars In Object Oriented Programming

    Abstract classes are those classes which can't be initiated, that is, they are considered as incomplete classes. Let's learn the concepts of Abstract Classes and Interface in OOP.
  • Abstraction Vs Encapsulation In OOPS

    This is a basic example of Abstraction vs Encapsulation we read in books, but it becomes very confusing when you try to search them online and explain from a technical perspective.
  • OOP Series - Part One - Building And Consuming A Class Library (DLL) Using C#

    This article explains how to build and consume a Class Library (DLL) in C#.
  • An Overview Of SOLID Principles

    An overview of SOLID Principles. SOLID. abbreviation means S for Single Responsibility, O for Open Close principle, L for Liskov Substitution principle, I for Interface segregation principle, D for De
  • Proper Type Encapsulation - Part Two

    In part 1 of this article, I explained how to implement proper data encapsulation. In part 2 I want to talk about encapsulating business logic. I see this missing in a lot of type design, especially w
  • Replace If With Polymorphism With AutoFac DI Container

    As the title specify we will be Replacing the conditional if and Switch statement with the help of Polymorphism using DI container and talk about the benefits of doing the same in this article. Oops g
  • Composition And Aggregation

    This article describes Composition and Aggregation
  • Proper Type Encapsulation - Part One

    Encapsulation is one of the fundamentals of OOP (object-oriented programming). It refers to the bundling of data with the methods that operate on that data. Encapsulation is used to hide the values or
  • Understanding Relationship Between Objects

    The relationship between objects defines how these objects will interact or collaborate to perform an operation in an application.
  • Learn About Mixin Pattern

    Mixin is an object oriented programming concept that has been used successfully in the enterprise application development scenarios. In an object oriented programming language, Mixin is a class which
  • Aborting Thread Vs Cancelling Task

    The below post is based on one of the question I answered on StackOverflow, in which the questioner wants to cancel a task when its taking too long to respond; i.e., taking too much time in execution
  • Static Keyword: Static Class & Members

    In this video learn about static keyword in C#. This video has code walkthrough for C# static examples. BY the end of this video, you will be able to understand about the static keyword in c#.
  • Introduction to Object-Oriented Programming

    This article is a brief introduction to OOP. The basic building blocks of object-oriented programming are the class and the object. A class acts as a blueprint/template to create the instances/objects
  • Explore Interface Vs Abstract Class

    Here I explore an Interface Vs an Abstract Class. An interface can only have a declaration but not a definition. An interface can only have methods, properties, indexers and events whereas a class can
  • OOP Series #2: Understanding Access Specifiers In C#

    This article explains access specifiers in C#. Access modifiers and specifiers are keywords to specify the accessibility of a type and its members. C# has 5 access specifier or access modifier keyword
  • Abstract Vs Interface In C#

    This video helps to understand the similarities and differences between Interface & Abstract class in C#. Which one to choose, what are their purpose
  • Similarities between Class and Struts

    This blog shows the similarities between Class and Struct.
  • Concept Of Factories In Object Oriented Programming

    Concept Of Factories In Object Oriented Programming.
  • Make Encapsulation Easy With dotNetTips.Utility

    Encapsulation is the first pillar of Object Oriented Programming (OOP), yet most code that I see does not implement encapsulation correctly or not all. Like I say in many of my conference sessions &qu
  • Difference Between Method Overloading And Method Overriding

    In this blog, we are trying to understand one of the important object oriented features of C# language.
  • View More