Sam's Microsoft Dynamics 365 Blog

Wednesday, 31 August 2016

OOP's Concept

Object Oriented Programmings Concept


What is OOP?

 The object oriented programming is commonly known as OOP. Most of the languages are developed using OOP concept. Object-oriented programming (OOP) is a programming concept that uses "objects" to develop a system.

 A programming object has an ability to perform actions and has attributes. It performs just like real world entities for e.g. a motor bike. A bike performs actions such as 'Start', 'Stop' etc., and it has attributes like red color, 150 cc etc. So does an Object. Actions and attributes are represented by Methods and fields or properties respectively in programming language.

 An object hides the implementation details and exposes only the functionalities and parameters it requires to its client. Here also an object shares the same concept as that of a bike. While driving a motor bike, we are unaware of its implementation details such as how it is developed, internal working of gears etc.? We know only the functions or actions it can perform.

What are the various elements of OOP?

 Various elements of OOP are:

:• Object
 • Class
 • Method
 • Encapsulation
 • Information Hiding
 • Inheritance
 • Polymorphism

 Explain an object.

 An object is an entity that keeps together state and behaviors. For instance, a car encapsulates state such as red color, 900 cc etc and behaviors as 'Start', 'Stop' etc., so does an object.

An object is an instance of a class. If you consider ìDogî as a class, it will contain all possible dog traits, while object ìGerman Shepherdî contains characteristics of specific type of dog.

Define a class. 
A class represents description of objects that share same attributes and actions. It defines the characteristics of the objects such as attributes and actions or behaviors. It is the blue print that describes objects.

What is Method? 

Method is an object ís behavior. If you consider ìDogî as an object then its behaviors are bark, walk, run etc.

 Explain Encapsulation concept in OOP.

 Encapsulation means keeping actions and attributes together under a single unit. This can also be understood using a motor bike example. A bike has actions such as 'switch on light', 'horn' etc. and attributes such specific color, size, weight etc. Here the actions and attributes are bundled together under a single unit, bike.

 In a programming language, methods and properties that correspond to actions and attributes respectively are kept under a unit called object. The advantage of encapsulation is that the implementation is not accessible to the client. The user has to know only the functionality of encapsulated unit and information to be supplied to get the result.

 What is Information Hiding in OOP? 

Information hiding concept restricts direct exposure of data. Data is accessed indirectly using safe mechanism, methods in case of programming object. Taking bike as an example, we have no access to the piston directly, we can use 'start button' to run the piston. You can understand the advantage of information hiding concept from this example. If a bike manufacturer allows direct access to piston, it would be very difficult to control actions on the piston.

 Define Inheritance.

 Inheritance concept in OOP allows us to create a new class using an existing one. It also allows the new class to add its own functionality. This concept can also be related to real world entity. A bike manufacturer uses same mechanism of existing version of the bike while launching a new version with some added functionalities. This allows him to save time and efforts.

 Explain the term Polymorphism. 

Polymorphism means the ability to take more than one form. An operation may exhibit different behaviors in different instances. The behavior depends on the data types used in the operation.

What is Overloading Polymorphism? 

Overloading allows multiple functions to exist with same name but different parameters. Again if you take bike as an example, it has a function ìStartî with two forms i.e. 'Auto Start' and 'kick start'.

Explain Overriding Polymorphism.

 Overriding means changing behavior of methods of base class in derive class by overriding the base class methods. If class A is a base class with method 'calculate' and class B inherits class A, thus derives method 'calculate' of class A. The behavior of 'calculate' in class B can be changed by overriding it.

 What are the advantages of OOP? 

Following are the advantages of OOP:

 • It presents a simple, clear and easy to maintain structure.
 • It enhances program modularity since each object exists independently.
 • New features can be easily added without disturbing the existing one.
 • Objects can be reused in other program.

Web Resource vs PCF vs Canvas App - which of the one is used?

While started working on specific Business Requirements related to custom layout, there is a always common question that "where to star...