Understanding the Java Object Oriented Programming Paradigm
Java object-oriented programming paradigm is far different from C++ and other languages. There was a time when sequential and straightway programming languages like C, Assembly Language, and Basic seemed to be easy to program, and rather difficult to design. Next came the age when Object Oriented Programming rolled over the computers, making it even easier not only in programming but also in designing and arranging data.
The OOP programming methodology was intentionally made so that the data manipulated by the programming languages gets its fair chance of getting structured. OOP generally prefers the data rather than the operations, resulting in more structured and powerful language.
The concept of OOP is such that it not only focuses on the way of executing operations but also structuring them in order and same is the case with data which are manipulated and structured for operations previously designed. The data type is so designed into structures and associated with operations making them into one object which not only includes methods or functions but also the data and the type of it to be manipulated.
This helped programmers to create relations between different or similar objects and also the capability of inheriting features of one and another.
The main feature of OOPS based languages such as Java is that they are very easy at maintenance and modifications.
The programmer does not have to change the entire code but instead add an object with desired characteristics either of its own or inherited from other objects.
Java is one programming languages, which supports Object Oriented Programming concepts and is very well equipped with many of its features.
Main features of OOPs are as follows:
- Data abstraction
- Message passing
- Generic behavior
- Multiple Inheritance (not supported by Java)
- Templates (not supported by Java)
Java is a dynamic programming language, supports OOP, though it lacks some of the powerful features of Object Oriented concepts like templates and multiple inheritances, which are well supported by other OOP based programming language like C++ that is not dynamic but static in nature.
Please comment your thoughts