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.


  • Atul Sharma

    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.
    Atul Sharma Jan 23, 2019
  • Vidya Vrat Agarwal

    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#.
    Vidya Vrat Agarwal Oct 05, 2018
  • Prageeth

    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...
    Prageeth Sep 06, 2018
  • David Mccarter

    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, especiall...
    David Mccarter Aug 02, 2018
  • Saillesh Pawar

    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. Oop...
    Saillesh Pawar Jul 26, 2018
  • Hemant Jindal

    Composition And Aggregation

    This article describes Composition and Aggregation
    Hemant Jindal Jun 07, 2018
  • David Mccarter

    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...
    David Mccarter May 29, 2018
  • Gaurav Gahlot

    Understanding Relationship Between Objects

    The relationship between objects defines how these objects will interact or collaborate to perform an operation in an application.
    Gaurav Gahlot Apr 29, 2018
  • Nanddeep Nachan

    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 whi...
    Nanddeep Nachan Apr 25, 2018
  • Pranay Rana

    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 executi...
    Pranay Rana Dec 12, 2017
  • Jatin Malik

    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#.
    Jatin Malik Aug 18, 2017
  • Sandeep Sharma

    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/obje...
    Sandeep Sharma Jun 28, 2017
  • Yogendra Kumar

    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 ...
    Yogendra Kumar Jun 28, 2017
  • Vidya Vrat Agarwal

    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 keyw...
    Vidya Vrat Agarwal Jun 26, 2017
  • Jatin Malik

    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
    Jatin Malik Jun 21, 2017
  • Karthikeyan Anbarasan

    Similarities between Class and Struts

    This blog shows the similarities between Class and Struct.
  • Pradeep Yadav

    Concept Of Factories In Object Oriented Programming

    Concept Of Factories In Object Oriented Programming.
    Pradeep Yadav Jun 07, 2017
  • David Mccarter

    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 ...
    David Mccarter Jun 05, 2017
  • Amit Gobare

    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.
    Amit Gobare Mar 01, 2017
  • Rakesh

    What Is An Abstract Class?

    In this blog, you will learn about abstract class.
    Rakesh Feb 21, 2017
  • Rakesh

    What Is An Encapsulation

    In this blog, we will see why encapsulation is important in an Object Oriented programming language.
    Rakesh Feb 15, 2017
  • Sujeet Sen

    OOPS Concept With Real Time Example

    In this blog you will learn about the OOPS concept with a real time example.
    Sujeet Sen Jan 29, 2017
  • Akhil Mittal

    Diving Into OOP (Day 6) : Understanding Enums in C# (A Practical Approach)

    This article of the series “Diving into OOP” will explain the enum datatype in C#.
    Akhil Mittal Jan 24, 2017
  • Akhil Mittal

    Diving Into OOP (Day 5): All About Access Modifiers in C# (C# Modifiers/Sealed/Constants/Readonly...

    In this article we will cover each and every concept related to access modifiers in C#.
    Akhil Mittal Jan 24, 2017
  • Akhil Mittal

    Diving Into OOP (Day 4) : Polymorphism and Inheritance (All About Abstract Classes in C#)

    In this article of the series "Diving Into OOP", we’ll discuss the hottest and most exciting topic of OOP in C#, Abstract Classes.
    Akhil Mittal Jan 24, 2017