در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation)

با سلام به همه دوستان و همراهان Itpro. یکی از مهمترین مفهوم از چهار مفهوم اصلی برنامه نویسی شئ گرا encapsulation یا کپسول بندی می باشد و سه مفهوم دیگر وراثت و چندریختی و abstraction می باشد. کپسول بندی در جاوا مکانیزمی است که داده ها (متغیرها) و پردازش های داده ها (متدها) را در یک بخش قرار می دهد. در کپسول بندی متغیرهای یک کلاس از کلاس های دیگر مخفی می شود و این متغیر های داخل کلاس فقط از داخل متدهای این کلاس قابل دسترسی هستند. برای همین به مکانیزم کپسول بندی مخفی کردن کلاس هم گفته می شود. برای این که در جاوا به کپسول بندی را پیاده سازی کنیم باید

  • متغیر های کلاس را به صورت private تعریف کنیم تا نتوان از بیرون از کلاس به آن دسترسی داشت.
  • برای هر یک از متغیرهای عضو کلاس یک متد setter و همچنین یک متد getter تعریف کنیم. در این صورت می توانیم دسترسی به متغیر ها را از طریق این کلاس ها کنترل کنیم. دقت داشته باشید که متدهای getter و setter باید به صورت public معرفی شده باشد. برای مثالی از کپسول بندی و چگونگی دسترسی به متغیر ها در جاوا به کد زیر دقت کنید:
  • /* File name : EncapTest.java */
    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;
       }
    }
    
    

متدهای set, get که به صورت public تعریف شده اند نقاط دسترسی به متغیرهای عضو کلاسEncapTest می باشد. معمولا به این متدها متدهای getter, setter می گویند. بنابراین اگر کلاسی بخواهد به متغیرهای عضو کلاس دسترسی داشته باشد باید از طریق متدهای getter و setter اقدام کنیم. به شکل زیر می توان به متغیرهای کلاس EncapTest دسترسی داشت:

/* File name : RunEncap.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());
    }
}

خروجی برنامه بالا به شکل زیر خواهد بود:

Name : James Age : 20

مزایای کپسول بندی

دلایلی که باعث می شود که ما از کپسول بندی در برنامه نویسی استفاده کنیم عبارتند از:

  • می توان با استفاده از این امکان کاری کرد که فیلدهای یک کلاس به صورت فقط خواندنی یا فقط نوشتنی باشد.
  • با استفاده از کپسول بندی یک کلاس می تواند بر روی داده های ذخیره شده بر روی فیلدهایش کنترل داشته باشد.
  • در خارج از کلاس نمی توان فهمید که یک کلاس چگونه داده هایش را ذخیره می کند زیرا که یک کلاس می تواند در داخل متدهای setter, getter نوع داده را تغییر دهد و یا هر عمل دیگری بر روی داده ها انجام دهد و سپس آن را ذخیره کند.

در برنامه های کوچک شاید برای شما مهم نباشد که داده های خود را کپسول بندی نمایید. ولی در برنامه هایی که بزرگ هستند و توسط چندین نفر نوشته شده اند این گونه مسائل بسیار مهم می شوند زیرا که هم قابلیت خوانایی برنامه را بالا می برند و هم این که امنیت برنامه افزایش پیدا می کند که از رخ دادن خطاهای غیر منتظره و دسترسی های غیر مجاز جلوگیری خواهد شد.Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#برنامه_نویسی_شئ_گرا #برنامه_نویسی_جاوا #آموزش_برنامه_نویسی_جاوا #برنامه_نویسی_شئ_گرا_در_جاوا #کپسول_بندی_در_جاوا #آموزش_برنامه_نویسی_شئ_گرا #آموزش_جاوا #آموزش_گام_به_گام_جاوا #دوره_آموزشی_جاوا #مخفی_کردن_داده_ها_در_جاوا
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....