Chapter 3: Encapsulation
Data Hiding•   1 of the important OOP techniques•   Hiding the data within the class•   Making it available ONLY through t...
Why need encapsulation?• To hide the internal implementation details of the  class• Can safely modified the implementation...
Access Control• All the fields and methods of a class can always be  used within the body of the class itself.• Java defin...
Access to packages• A package is always accessible to code defined within  the package.• Whether it is accessible to code ...
Access to classes• By default, top-level classes are accessible within  the package in which they are defined.• However, i...
Access to members• By default, members are also accessible throughout  the package in which the class is defined.• This de...
example// People can use this class.public class Laundromat {// They cannot use this internal field,private Laundry[] dirt...
Access rules:• If a member of a class is declared with the public modifier,  it means that the member is accessible anywhe...
Another example                  The public methods are                  the access points to this                  class....
~continuedThe variables of the EncapTest class can be access as below:                                         Output:
Benefits of having encapsulation• The fields of a class can be made read-only or write-  only• A class can have total cont...
Question & answer
Upcoming SlideShare
Loading in …5
×

Chapter 03 enscapsulation

517 views

Published on

Published in: Travel, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
517
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Chapter 03 enscapsulation

  1. 1. Chapter 3: Encapsulation
  2. 2. Data Hiding• 1 of the important OOP techniques• Hiding the data within the class• Making it available ONLY through the methods• Also known as encapsulation ▫ It seals the data (and internal method) safely inside the “capsule” of the class ▫ Can only be accessed by a trusted user (i.e. by the method of the class)
  3. 3. Why need 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
  4. 4. Access Control• All the fields and methods of a class can always be used within the body of the class itself.• Java defines access control rules that restrict members of a class from being used outside the class.• The public keyword, along with protected and private, are accesscontrolmodifiers ; they specify the access rules for the field or method.
  5. 5. Access to packages• A package is always accessible to code defined within the package.• Whether it is accessible to code from other packages depends on the way the package is deployed on the host system.• When the class files that comprise a package are stored in a directory, for example, a user must have read access to the directory and the files within it in order to have access to the package.• Package access is not part of the Java language itself.• Access control is usually done at the level of classes and members of classes instead
  6. 6. Access to classes• By default, top-level classes are accessible within the package in which they are defined.• However, if a top-level class is declared public, it is accessible everywhere (or everywhere that the package itself is accessible).
  7. 7. Access to members• By default, members are also accessible throughout the package in which the class is defined.• This default level of access is often called packageaccess.• The other three levels of access are defined by the public, protected, and private modifiers.
  8. 8. example// People can use this class.public class Laundromat {// They cannot use this internal field,private Laundry[] dirty;// but they can use these public methodspublic void wash() { ... }// to manipulate the internal field.public void dry() { ... }}
  9. 9. Access rules:• If a member of a class is declared with the public modifier, it means that the member is accessible anywhere the containing class is accessible. This is the least restrictive type of access control.• If a member of a class is declared private, the member is never accessible, except within the class itself. This is the most restrictive type of access control.• If a member of a class is declared protected, it is accessible to all classes within the package (the same as the default package accessibility) and also accessible within the body of any subclass of the class, regardless of the package in which that subclass is defined. This is more restrictive than public access, but less restrictive than package access.• If a member of a class is not declared with any of these modifiers, it has the default package access: it is accessible to code within all classes that are defined in the same package, but inaccessible outside of the package.
  10. 10. Another example The public methods are the access points to this class.s 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.
  11. 11. ~continuedThe variables of the EncapTest class can be access as below: Output:
  12. 12. Benefits of having encapsulation• 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
  13. 13. Question & answer

×