Java OOPs Concepts
Java OOPs Concepts
1. Object-Oriented Programming
, C#
, PHP
, Python
, C++
, etc.
32.9M
667
How to find Nth Highest Salary in SQL
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.
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.
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
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.
43.4M
883
C++ vs Java
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. }
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.
If the name is combined with two words, the second word will start with
uppercase letter always such as actionPerformed(), firstName,
ActionEvent, ActionListener, etc.