0% found this document useful (0 votes)
3 views

Java OOPs Concepts

The document provides an overview of Object-Oriented Programming (OOP) concepts, including key principles such as classes, objects, inheritance, polymorphism, abstraction, encapsulation, coupling, cohesion, association, aggregation, and composition. It highlights the advantages of OOP over procedure-oriented programming, such as easier development and maintenance, data hiding, and better simulation of real-world entities. Additionally, it discusses Java naming conventions for identifiers to enhance code readability.

Uploaded by

gprodatta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Java OOPs Concepts

The document provides an overview of Object-Oriented Programming (OOP) concepts, including key principles such as classes, objects, inheritance, polymorphism, abstraction, encapsulation, coupling, cohesion, association, aggregation, and composition. It highlights the advantages of OOP over procedure-oriented programming, such as easier development and maintenance, data hiding, and better simulation of real-world entities. Additionally, it discusses Java naming conventions for identifiers to enhance code readability.

Uploaded by

gprodatta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

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 page, 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 truly 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.
32.9M
667
How to find Nth Highest Salary in SQL

The main aim of object-oriented programming is to implement real-world


entities, for example, object, classes, abstraction, inheritance,
polymorphism, etc.

OOPs (Object-Oriented Programming System)


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. An object 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 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
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
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:

o One to One
o One to Many
o Many to One, and
o 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.
Figure: Data Representation in Procedure-Oriented Programming

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.

Java Naming Convention


Java naming convention is a rule to follow as you decide what to name
your identifiers such as class, package, variable, constant, method, etc.
But, it is not forced to follow. So, it is known as convention not rule. These
conventions are suggested by several Java communities such as Sun
Microsystems and Netscape.

All the classes, interfaces, packages, methods and fields of Java


programming language are given according to the Java naming
convention. If you fail to follow these conventions, it may generate
confusion or erroneous code.

Advantage of Naming Conventions in Java


By using standard Java naming conventions, you make your code easier to
read for yourself and other programmers. Readability of Java program is
very important. It indicates that less time is spent to figure out what the
code does.

43.4M

883

C++ vs Java

Naming Conventions of the Different Identifiers


The following table shows the popular conventions used for the different
identifiers.

Identifiers Naming Rules Examples


Type

Class It should start with the uppercase letter. public class Employe
It should be a noun such as Color, Button, System, {
Thread, etc. //code snippe
Use appropriate words, instead of acronyms. }

Interface It should start with the uppercase letter. interface Printable


It should be an adjective such as Runnable, Remote, {
ActionListener. //code snippe
Use appropriate words, instead of acronyms. }

Method It should start with lowercase letter. class Employe


It should be a verb such as main(), print(), println(). {
If the name contains multiple words, start it with a // metho
lowercase letter followed by an uppercase letter such void draw()
as actionPerformed(). {
//code snippe
}
}

Variable It should start with a lowercase letter such as id, class Employe
name. {
It should not start with the special characters like & // variabl
(ampersand), $ (dollar), _ (underscore). int id;
If the name contains multiple words, start it with the //code snippe
lowercase letter followed by an uppercase letter such }
as firstName, lastName.
Avoid using one-character variables such as x, y, z.

Package It should be a lowercase letter such as java, lang. //package


If the name contains multiple words, it should be package com.javatpo
separated by dots (.) such as java.util, java.lang. nt;
class Employe
{
//code snippe
}

Constant It should be in uppercase letters such as RED, class Employe


YELLOW. {
If the name contains multiple words, it should be //constant
separated by an underscore(_) such as static fina
MAX_PRIORITY. int MIN_AGE = 18
It may contain digits but not as the first letter. //code snippe
}

CamelCase in Java naming conventions


Java follows camel-case syntax for naming the class, interface, method,
and variable.

If the name is combined with two words, the second word will start with
uppercase letter always such as actionPerformed(), firstName,
ActionEvent, ActionListener, etc.

You might also like