C# OOPs Overview

Class:A class is a template / skeleton / blueprint for creating an object.
1. What is Object?
2. What is NOT Object?
3. Definition: An Object is an entity that has Properties for identifying its State, Methods for Behavior and Events for depicting the Change of State.
4. Data associated at any given instance of time is the state of an object.
5. Every object will different from other objects either by state or behavior.
6. Object has a lifetime – It’s created, used and destroyed.Object Oriented Application:
It’s a collection of related objects, communicating with each other, exchanging messages with each other in a controlled environment as per the rules of the business.Component: A ready to use third party object can be called as a Component. It can be replaced without any changes in the application. A component is generally used by a programmer as an object.Loosely coupled objects are better than tightly coupled objects i.e. the lesser the information given to other objects the better it is as the objects are loosely coupled the dependencies are less and stronger security.Every object-oriented language should have three features:
  • Encapsulation
  • Inheritance
  • Polymorphism

Encapsulation: Binding of data and behavior i.e. functionality of an object within a secured and controlled environment is encapsulation.


1. Data Hiding / Abstraction.
2. Implementation Abstraction
3. Makes the class simpler to use.
4. Loose Coupling


  • The Process of acquiring the existing functionality of the parent and with new added features and functionality by a child object is called inheritance.
  • The advantages of inheritance are Generalization, Extensibility and Reusability.
  • For example: A calculator is a generalized form of mathematical operations where as a Scientific calculator is an Extended and Specific form.

Some more examples of Inheritance

  • Car is a Vehicle
  • Faculty is a Person
  • Student is a Person
  • Mango is a Fruit
  • Chair is a Furniture
  • Scientific Calculator is a Calculator

Kinds of Relationship between objects:

a. is a – Depicts Inheritance – Two Classes must be related.
b. has a – Depicts Containment – Two Classes must be related
c. type of / instance of – A class and object is related.
  • “Poly” means “many” and “morph” means “form”.
  • An object in different forms and in each form it exhibits the same functionality but implemented in different ways.
  • A parent class variable taking the form of child class objects and using this variable invoking the functionality of object this variable has actually taken the form (either of the child class object) 
  • A Teacher can take a form of Sport Teacher or Language Teacher and in both the forms it has the functionality Teach, but the implementation of Teach varies in both the objects and depends.
  • Vehicle – Car or Scooter – Drive
  • Phone – Mobile Phone or Landline Phone – Speak
  • Database – Oracle or Sql Server – Write
  • Figure – Circle or Square – Area
Learn C# Online Tutorial in 4 Days 27 Modules