OOPs and Its Concepts in Java

Brief Introduction to OOP
Object Oriented Programming or
OOP is the technique to create programs based on the real world. Unlike
procedural programming, here in the OOP programming model programs are organized
around objects and data rather than actions and logic. Objects represent some
concepts or things and like any other objects in the real Objects in programming
language have certain behavior, properties, type, and identity. In OOP based
language the principal aim is to find out the objects to manipulate and their
relation between each other. OOP offers greater flexibility and compatibility
and is popular in developing larger application. Another important work in OOP
is to classify objects into different types according to their properties and
behavior. So OOP based software application development includes the analysis of
the problem, preparing a solution, coding and finally its maintenance.
Java is a object oriented programming and to understand the
functionality of OOP in Java, we first need to understand several fundamentals
related to objects. These include class, method, inheritance, encapsulation,
abstraction, polymorphism etc.
Class - It is the central point of OOP and that
contains data and codes with behavior. In Java everything happens within class
and it describes a set of
objects with common behavior. The class definition describes all the properties,
behavior, and identity of objects present within that class. As far as types of
classes are concerned, there are predefined classes in languages like C++ and
Pascal. But in Java one can define his/her own types with data and
code.
Object - Objects are the basic unit of
object orientation with behavior, identity. As we mentioned above, these are
part of a class but are not the same. An object is expressed by the variable and
methods within the objects. Again these variables and methods are distinguished
from each other as instant variables, instant methods and class variable and
class methods.
Methods - We know that a
class can define both attributes and behaviors. Again attributes are defined by
variables and behaviors are represented by methods. In other words, methods
define the abilities of an object.
Inheritance - This is the
mechanism of organizing and structuring software program. Though objects are
distinguished from each other by some additional features but there are objects
that share certain things common. In object oriented programming classes can
inherit some common behavior and state from others. Inheritance in OOP allows to
define a general class and later to organize some other classes simply adding
some details with the old class definition. This saves work as the special class
inherits all the properties of the old general class and as a programmer you
only require the new features. This helps in a better data analysis, accurate
coding and reduces development time.
Abstraction - The process of
abstraction in Java is used to hide certain details and only show the essential
features of the object. In other words, it deals with the outside view of an
object (interface).
Encapsulation - This is an
important programming concept that assists in separating an object's state from
its behavior. This helps in hiding an object's data describing its state from
any further modification by external component. In Java there are four different
terms used for hiding data constructs and these are public, private, protected
and package. As we know an object can associated with data with predefined
classes and in any application an object can know about the data it needs to
know about. So any unnecessary data are not required by an object can be hidden
by this process. It can also be termed as information hiding that prohibits
outsiders in seeing the inside of an object in which abstraction is
implemented.
Polymorphism - It describes the
ability of the object in belonging to different types with specific behavior of
each type. So by using this, one object can be treated like another and in this
way it can create and define multiple level of interface. Here the programmers
need not have to know the exact type of object in advance and this is being
implemented at runtime.

|
Current Comments
17 comments so far (post your own) View All Comments Latest 10 Comments:This is a very handy collection of java materials will clear conception for the beginners and they could really do well.I am satisfied with it.But would be happier if somehow I can contact the administrator.
Posted by bidyut bikash Gogoi on Monday, 01.21.08 @ 22:54pm | #45807
Could You send me OOPS concept example.
Posted by Jenish on Monday, 01.14.08 @ 17:10pm | #45184
You may add the concepts of aggregation, composition, genaralization, message passing, interfaces, abstract class to make it enhanced
Posted by B on Sunday, 01.13.08 @ 13:04pm | #45106
hai this is very nice site to understand java biginars ,and i want some more examples fo understand ing and lerning
Posted by sridhar on Friday, 01.11.08 @ 13:59pm | #44970
very nice site
Posted by R.S. bairwa on Monday, 01.7.08 @ 18:07pm | #44724
my q? is :
how the larger memory variable is converted in short when we are doing type casting
Posted by yash on Monday, 12.31.07 @ 13:25pm | #44260
this site is very informative, it is very useful to me as a new user of Java. It helps me a lot to understand the ideas and concepts of Object Oriented Programming... more power roseindia.net
Posted by sniper on Thursday, 12.27.07 @ 11:20am | #43928
This is one of the best wibsires i have seen so far. It provide all the required information and is really helpful for the starters. The examples covered are very much useful for learning. Thank you.
Posted by deepika on Wednesday, 12.26.07 @ 14:42pm | #43836
This is a very good one for the beginners and one more thing i can suggest is pls try to add some programmig exercises and objective questions for each topic
Posted by nagaraju on Tuesday, 12.18.07 @ 14:29pm | #42816
Its a very good website and very simple and to the point. its very useful for beginners
Posted by heba on Saturday, 04.21.07 @ 23:30pm | #14697