0% found this document useful (0 votes)
1 views4 pages

TestNG Notes

The document explains the fundamentals of Object-Oriented Programming (OOP), highlighting key concepts such as objects, classes, inheritance, polymorphism, abstraction, and encapsulation. It contrasts OOP with procedure-oriented programming and discusses the advantages of OOP, including code reusability and simplified software maintenance. Additionally, it introduces terms like coupling, cohesion, association, aggregation, and composition in the context of OOP design.

Uploaded by

Anant Kanwale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views4 pages

TestNG Notes

The document explains the fundamentals of Object-Oriented Programming (OOP), highlighting key concepts such as objects, classes, inheritance, polymorphism, abstraction, and encapsulation. It contrasts OOP with procedure-oriented programming and discusses the advantages of OOP, including code reusability and simplified software maintenance. Additionally, it introduces terms like coupling, cohesion, association, aggregation, and composition in the context of OOP design.

Uploaded by

Anant Kanwale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Java OOPs Concepts

1. Object-Oriented Programming

2. Advantage of OOPs over Procedure-oriented programming language

3. Difference between Object-oriented and Object-based programming language.

In this section, we will learn about the basics of OOPs. Object-Oriented Programming is a paradigm
that provides many concepts, such as inheritance, data binding, polymorphism, etc.

Simula is considered the first object-oriented programming language. The programming paradigm
where everything is represented as an object is known as a pure object-oriented programming
language.

Smalltalk is considered the first truly object-oriented programming language.

The popular object-oriented languages are Java, C#, PHP, Python, C++, etc.

The aim of object-oriented programming is to implement real-world entities, for example, object,
classes, abstraction, inheritance, polymorphism, etc.

OOPs (Object-Oriented Programming)

Object means a real-world entity such as a pen, chair, table, computer, watch, etc. Object-Oriented
Programming is a methodology or paradigm to design a program using classes and objects. It
simplifies software development and maintenance by providing some concepts:

o Object

o Class

o Inheritance

o Polymorphism

o Abstraction

o Encapsulation

Apart from these concepts, there are some other terms which are used in Object-Oriented design:

o Coupling

o Cohesion

o Association

o Aggregation

o Composition
Object

Any entity that has state and behavior is known as an object. For example, a chair, pen, table,
keyboard, bike, etc. It can be physical or logical.

An Object can be defined as an instance of a class. It contains an address and takes up some space in
memory. Objects can communicate without knowing the details of each other's data or code. The
only necessary thing is the type of message accepted and the type of response returned by the
objects.
Example: A dog is an object because it has states like color, name, breed, etc. as well as behaviors
like wagging the tail, barking, eating, etc.

Class

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 does
not 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

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 implementation and showing functionality only to the user is known as abstraction.
For example, phone call, we do not know the internal processing.

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

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. We 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:

o One to One

You might also like