Understanding the Java Object-Oriented Programming Paradigm
Java's 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 get 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 on structuring them in order and the same is the case with data that 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 another.
The main feature of OOPS-based languages such as Java is that they are very easy at maintaining and modifier.
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 language, which supports Object Oriented Programming concepts and is very well-equipped with many of its features.
The main features of OOPs are as follows:
- Encapsulation
- Data abstraction
- Inheritance
- Polymorphism
- Message Passing
- Extensibility
- Persistence
- Delegation
- Generic behavior
- Multiple Inheritance (not supported by Java)
- Templates (not supported by Java)
Java is a dynamic programming language, that 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 languages like C++ that is not dynamic but static in nature.
Please comment with your thoughts
Thanks!