Encapsulation,Advantages of using Encapsulation,Implementation of Encapsulation using java

Friday, November 8, 2013

Encapsulation 

Binding (or wrapping) code and data together into a single unit is known as encapsulation
For example: A java class is the example of encapsulation. 
Java bean is the fully encapsulated class because all the data members are private here. 

                     Encapsulation is the technique of making the fields in a class private and providing access to the fields via public methods. If a field is declared private, it cannot be accessed by anyone outside the class, thereby hiding the fields within the class. For this reason, encapsulation is also referred to as data hiding.
                 Encapsulation is the ability to package data, related behavior in an object bundle and control/restrict access to them (both data and function) from other objects. It is all about packaging related stuff together and hide them from external elements.
                 We can see that keywords encapsulation and data hiding are used synonymously everywhere. It should not be misunderstood that encapsulation is all about data hiding only. When we say encapsulation, emphasis should be on grouping or packaging or bundling related data and behavior together.
                  Encapsulation can be described as a protective barrier that prevents the code and data being randomly accessed by other code defined outside the class. Access to the data and code is tightly controlled by an interface.

Advantages of using Encapsulation :

  • The ability to modify our implemented code without breaking the code of others who use our code.
  • It gives maintainability, flexibility and extensibility to our code.
  • 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 field and users of the class do not need to change any of their code.
Note :-  The public methods are the access points to this class' fields from the outside java world. Normally, these methods are referred as getters and setters. Therefore any class that wants to access the variables should access them through these getters and setters.


Implementation of Encapsulation :

                public class EncapTest{

                      private String name;
                      private String idNum;
                      private int age;

                      public int getAge(){
                         return age;
                      }

                      public String getName(){
                         return name;
                      }

                      public String getIdNum(){
                         return idNum;
                      }

                      public void setAge( int newAge){
                         age = newAge;
                      }

                      public void setName(String newName){
                         name = newName;
                      }

                      public void setIdNum( String newId){
                         idNum = newId;
                      }
                }


Save the above code in a different file like "EncapTest.java"

            public class RunEncap{

                 public static void main(String args[]){
                       EncapTest encap = new EncapTest();
                       encap.setName("James");
                       encap.setAge(20);
                       encap.setIdNum("12343ms");

                       System.out.print("Name : " + encap.getName()+ 
                                        " Age : "+ encap.getAge());
                 }
            }

Save the above code in a different file like "RunEncap.java" If we Execute this Program it will gives the output as follows : " James 20"

 
 
 

Total Pageviews