Friday, October 15, 2010

Introduction to OOPS . . .

Hello All
I am Swapnil S. Kulkarni. I have done B.Sc.(Computer Science) from Pune University. Also, I have done C-DAC from Pune. Currently, I am pursuing MBA from pune (again! ! !) OK. This is all about my educational qualification…

I am going to write on anything and everything whatever I feel about. So it’s going to be sort of my online personal diary. Frankly speaking, this blog will be (mostly) very useful for the people who are from Computer background.

I hope you would definitely enjoy reading this blog as much as I would enjoy writing on it.
But, I have lots of confusion from where I should start???

OK. So let’s start with the Computer languages.
The list of computer languages which I know [with knowledge :-)] is as follows

Language 
Where I stand
PASCAL 
Just name is known
COBOL
Just name is known
C                                              
Hard Coder
C++
Hard Coder
J2SE
Hard Coder
J2EE
Hard Coder
C#.NET with ASP.NET
Hard Coder
VB.NET with ASP.NET       
Hard Coder

Lets, start with OOPs [Not google oops ….   :-) ]
OOP is nothing but Object Oriented Language and OOPs is nothing but Object Oriented programming Structure. OOP is a programming standard that utilize "objects" – data structures containing data fields and methods with their interactions – to design applications and computer programs. Programming techniques may include features viz. Abstraction, Encapsulation, Polymorphism and Inheritance, which are commonly known as four major pillar of OOP. The language which support all these four pillar is known as Object Oriented Language. There are various languages which support these futures like C++(I am saying Object Oriented; Not Pure Object Oriented), JAVA, etc. Also, note that Simula is First Object Oriented Language.
Lets define the above unknown term

1) Abstraction: In OOP abstraction means hiding the unnecessary details and giving only the essential things or we can say that abstraction is selective ignorance. It separates the two fields for the out side world as abstract properties of a data type and the concrete details of its implementation.

2) Encapsulation: Grady Booch defined encapsulation as,"the process of compartmentalizing the elements of an abstraction that constitute its structure and behavior; encapsulation serves to separate the contractual interface of an abstraction and its implementation.”. i.e. binding the data part and its properties in a capsule form is known as encapsulation.

3) Inheritance: Inheriting the properties of all ready existing class in the new class. In programming language we can say that inheriting all the properties of base / parent class in sub / child class. We can say that moving from generalization to specialization in a hierarchical manner is inheritance.

4) Polymorphism: Lets take dictionary meaning of ‘Polymorphism’ – ‘Poly’ means ‘many’ and ‘morph’ means ‘forms’. So, polymorphism is the ability to take multiple forms for the same action or command. We can say that implementing different course of action for the same command is nothing but polymorphism.

There is a lot to share. . .

Will update soon . . .
If you have different opinion on my explanation then fell free to contact me at kulkarniswapnil25@gmail.com. You are most welcome for suggestion / changes.