OOP & Its Concept

Learning about Class, Object, Component, Encapsulation, Inheritance, Polymorphism & Object Creation and Instantiation all about Object Oriented Programming Concept.

Class

A class is a one kind of template, skeleton or we can say blueprint for creating an object.

Object

An Object is an entity that has Properties for identifying its State, Methods for Behavior and Events for depicting the Change of State.
Data associated at any given instance of time is the state of an object.
Every object will different from other objects either by state or behavior.
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:

1. Encapsulation
2. Inheritance
3. Polymorphism

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

Advantages:

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

2. Inheritance: 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
Bike is a Vehicle
Employee is a Person
Student is a Person
Apple is a Fruit
Lion is an Animal

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.

3. Polymorphism: "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)

Examples:

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 – Cell Phone or Landline Phone – Speak
Database – Oracle or Sql Server – Write
Figure – Circle or Square - Area


Comments

Popular posts from this blog

પટેલ સમાજનો ઈતિહાસ જાણો : કોણ અને ક્યાંથી આવ્યા હતા પાટીદારો

Python HTML Generator using Yattag Part 1

Java Event Delegation Model, Listener and Adapter Classes