java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا

Encapsulation در جاوا (Object oriented programming)

Encapsulation در جاوا

در این جلسه تیم کدگیت را با آموزش Encapsulation در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با setter و getter
  2. آشنایی با شی گرایی
  3. آشنایی با this

Encapsulation در جاوا

Encapsulation (کپسوله سازی) به معنی مخفی کردن جزییات پیاده سازی از کاربران است.این کار را با private نمودن فیلد‌ها یا متدهای کلاس انجام میدهند.اگر یک فیلد را private تعریف کنیم بدین معنی است فقط در خود کلاس قابل دسترس است و کلاس های دیگر به این فیلد دسترسی ندارند.

گاهی نیاز داریم یک فیلد که Private است را از کلاس دیگر مقدار آن را تغییر دهیم. برای این کار از متدهای setter یا getter استفاده میکنند. این متدها public هستند پس میتوان از کلاس های دیگر به آنها دسترسی پیدا کرد. در آخر این نکته را ذکر کنیم که گاهی به Encapsulation در جاوا data hiding نیز گفته میشود.

مثال Encapsulation در جاوا

با توجه به توضیحاتی که داده شد در این قسمت مثالی ساده درباره Encapsulation در جاوا میزنیم. یک کلاس Encapsulationperson داریم که این کلاس اطلاعات کلی یک انسان را نگهداری میکند.کد آن به صورت زیر است:

public class Encapsulation {

    private int ssn;
    private String empName;
    private int empAge;


    //Getter and Setter methods
    public int getEmpSSN(){
        return this.ssn;
    }

    public String getEmpName(){
        return this.empName;
    }

    public int getEmpAge(){
        return this.empAge;
    }

    public void setEmpAge(int empAge){
        this.empAge = empAge;
    }

    public void setEmpName(String empName){
        this.empName = empName;
    }

    public void setEmpSSN(int ssn){
        this.ssn = ssn;
    }

}

در کد بالا سه فیلد به نام name و ssn و age برای یک انسان تعریف کردیم. سپس برای همه فیلدها متد setter و getter نوشتیم. بعد در main میتوانید راحتی استفاده از این کلاس را ببینید.

فواید Encapsulation در جاوا

  1. Encapsulation قابلیت نگهداری کد را بالا میبرد و همینطور قابلیت استفاده مجدد را برای برنامه نویسان راحت تر میکند
  2. فیلدها قابلیت این را دارند که فقط خوانده شوند یا فقط تغییر کنند ولی مقدار آن دسترسی پیدا نکنند.
  3. کاربر از پشت صحنه کد خبری ندارد ولی اطلاعات مورد نیاز را دریافت میکند.

تست کد Encapsulation در جاوا

برای تست کدهای بالا،کد main زیر را بزنید:

     public static void main(String[] args) {
        Encapsulation obj = new Encapsulation();
        obj.setEmpName("Mario");
        obj.setEmpAge(32);
        obj.setEmpSSN(112233);
        System.out.println("Person Name: " + obj.getEmpName());
        System.out.println("Person SSN: " + obj.getEmpSSN());
        System.out.println("Person Age: " + obj.getEmpAge());

     }

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *