You are on page 1of 14

Encapsulation

Presenting By: M R Khan Dipu


ID: 191-35-393
Department of Software Engineering
Introduction

 Encapsulation is the technique of making the fields in


a class private and providing access to the fields via
public methods.
 Encapsulation also can be described as a protective
barrier that prevents the code and data being
randomly accessed by other code defined outside the
class.
A view of Encapsulation
Example of Encapsulation
File: Student.java File: Test.java
 //  //
A Java class which is a fully encapsulated class. A Java class to test the encapsulated cl
ass.
 //
It has a private data member and getter and se  package com.javatpoint;
tter methods.  class Test{
 package com.javatpoint;  public static void main(String[] args){
 public class Student{
 //
 //private data member
creating instance of the encapsulated
 private String name;
 //getter method for name
class
 public String getName(){  Student s=new Student();
 return name;  //setting value in the name member
 }  s.setName(“Dipu");
 //setter method for name
 //getting value of the name member
 public void setName(String name){
 System.out.println(s.getName());
 this.name=name
 }  }
 }  }
Output Dipu
Importance of Encapsulation
 To hide the internal implementation details of the
class
 Can safely modified the implementation without
worrying breaking the existing code that uses the
class 
 Protect class against accidental/ willful stupidity
 Keeps class tidy by keeping the visible fields to a
minimum
 Easier to use and understand
Why need Encapsulation?

 In object-oriented programming data encapsulation is concerned with-


I. Combining data and how it's manipulated in one place : This is
achieved through the state (the private fields) and the behaviors
(the public methods) of an object.
II. Only allowing the state of an object to be accessed and modified
through behaviors: The values contained within an object's state can
then be strictly controlled.
III. Hiding the details of how the object works: The only part of the
object that is accessible to the outside world is its behaviors. What
happens inside those behaviors and how the state is stored is hidden
from view.
Benefits

 The main benefit of encapsulation is the ability to


modify our implemented code without breaking the
code of others who use our code.
 With this feature Encapsulation gives maintainability,
flexibility and extensibility to the code.
Advantages

 The fields of a class can be made read-only or write-


only.
 A class can have total control over what is stored in
its fields.
 The users of a class do not know how the class
stores its data.
 A class can change the data type of a fields, and a
users of the class do not need to change any of their
code .
Facililities
 By providing only a setter or getter method, you can
make the class read-only or write-only. In other
words, you can skip the getter or setter methods.
 It provides you the control over the data. Suppose
you want to set the value of id which should be
greater than 100 only, you can write the logic inside
the setter method. You can write the logic not to
store the negative numbers in the setter methods.
 It is a way to achieve data hiding in Java because
other class will not be able to access the data
through the private data members.
 The encapsulate class is easy to test. So, it is better
for unit testing.
Maintainability

 Encapsulation draws a boundary around a set of data


and method.
 This allows a developer to use the code without
having to know how it works, but with what input
data and its input data range and with what it
returns.
Flexibility

 Encapsulation makes the code easier to visualize.


 This means codes can be arranged “visually” before
implementing.
Extensibility

 Makes long term development easy.


 Updates can be made by changing the encapsulated
part without changing the input and output formats.
Conclusion
 Encapsulation is the technique of making the fields in
a class private and providing access to the fields via
public methods.
 The main benefit of encapsulation is the ability to
modify the implemented code without breaking the
code of others who use the implemented code.
 Encapsulation makes the programming code flexible,
maintainable and extensible.
Thank You

You might also like