Java OOPs Concepts | infoStud blogs

In this page, we will find out about the basics concepts of OOPs. Object-Oriented Programming is a worldview or paradigm that gives numerous concepts, like data, inheritance, polymorphism, data binding, etc. 

Simula is viewed as the main first object-oriented programming language. The programming example where everything is addressed as an object is known as a really object-oriented programming language. 

Smalltalk is viewed as the first really object-oriented programming language. 

The mainstream object-oriented programming are Java, C#, PHP, Python, C++, and so on 

The main focus of object-oriented programming is to implement real-world entities, like objects, abstraction, classes, inheritance, etc. 

OOPs (Object-Oriented Programming System)

Object implies a real-world entity like a pen, seat, table, PC, and so on. Object-Oriented Programming is a system or worldview to plan a program utilizing classes and objects. It works on software development improvement and support by giving some ideas or concepts:

  • Object
  • Class
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation
OOPs (Object-Oriented Programming System), Object Class Inheritance Polymorphism Abstraction Encapsulation,


There are some other terms that are used in Object-Oriented design:

  • Coupling
  • Cohesion
  • Association
  • Aggregation
  • Composition
 

Object

Java OOPs Concepts | infoStud blogs

Any element or entity that has a state and having behavior is known as an object. 

Example: pen, table, bicycle, and so on tends to be physical or coherent. 

An Object can be characterized as an instance of a class. An object contains a location and occupies some room in memory. Objects can impart without knowing the details of one another's information or code. The only essential thing is the sort of message acknowledged and the kind of reaction returned by the articles. 

Example: A cat is an object because it has states like color, name, breed, etc. as well as behaviors like wagging the tail, eating, etc.

Class

The collection of objects is called class. It is a logical entity.

A class can also be defined as a blueprint from which you can create an individual object. Class doesn't consume any space.

The collection of objects is called class. It is a logical entity 

A class can likewise be characterized as an outline or blueprint from which you can make an individual object. Class doesn't consume any space.

Inheritance

When one object acquires all the properties and behaviors of a parent object, it is known as inheritance. It provides code reusability. It is used to achieve runtime polymorphism.

Polymorphism in Java

Polymorphism

If one task is performed in different ways, it is known as polymorphism. For example: to convince the customer differently, to draw something, for example, shape, triangle, rectangle, etc.

In Java, we use method overloading and method overriding to achieve polymorphism.

Another example can be to speak something; for example, a cat speaks meow, dog barks woof, etc.

Abstraction

Hiding internal details and showing functionality is known as abstraction. For example phone call, we don't know the internal processing.

In Java, we use abstract class and interface to achieve abstraction.

Encapsulation in Java OOPs Concepts

Encapsulation

Binding (or wrapping) code and data together into a single unit are known as encapsulation. For example, a capsule, it is wrapped with different medicines.

A java class is the example of encapsulation. Java bean is the fully encapsulated class because all the data members are private here.

Coupling

Coupling refers to the knowledge or information or dependency of another class. It arises when classes are aware of each other. If a class has the details information of another class, there is strong coupling. In Java, we use private, protected, and public modifiers to display the visibility level of a class, method, and field. You can use interfaces for the weaker coupling because there is no concrete implementation.

Cohesion

Cohesion refers to the level of a component which performs a single well-defined task. A single well-defined task is done by a highly cohesive method. The weakly cohesive method will split the task into separate parts. The java.io package is a highly cohesive package because it has I/O related classes and interface. However, the java.util package is a weakly cohesive package because it has unrelated classes and interfaces.

Association

Association represents the relationship between the objects. Here, one object can be associated with one object or many objects. There can be four types of association between the objects:

  • One to One
  • One to Many
  • Many to One, and
  • Many to Many

Let's understand the relationship with real-time examples. For example, One country can have one prime minister (one to one), and a prime minister can have many ministers (one to many). Also, many MP's can have one prime minister (many to one), and many ministers can have many departments (many to many).

Association can be undirectional or bidirectional.

Aggregation

Aggregation is a way to achieve Association. Aggregation represents the relationship where one object contains other objects as a part of its state. It represents the weak relationship between objects. It is also termed as a has-a relationship in Java. Like, inheritance represents the is-a relationship. It is another way to reuse objects.

Composition

The composition is also a way to achieve Association. The composition represents the relationship where one object contains other objects as a part of its state. There is a strong relationship between the containing object and the dependent object. It is the state where containing objects do not have an independent existence. If you delete the parent object, all the child objects will be deleted automatically.


Advantage of OOPs over Procedure-oriented programming language

1) OOPs makes development and maintenance easier, whereas, in a procedure-oriented programming language, it is not easy to manage if code grows as project size increases.

2) OOPs provides data hiding, whereas, in a procedure-oriented programming language, global data can be accessed from anywhere.

Global Data

Figure: Data Representation in Procedure-Oriented Programming


Object Data

Figure: Data Representation in Object-Oriented Programming

3) OOPs provides the ability to simulate real-world event much more effectively. We can provide the solution of real word problem if we are using the Object-Oriented Programming language.


What is the difference between an object-oriented programming language and object-based programming language?

Object-based programming language follows all the features of OOPs except Inheritance. JavaScript and VBScript are examples of object-based programming languages.

Post a Comment

0 Comments