تاریخ امروز:6 اردیبهشت 1403
کپسوله‌سازی یا encapsulation

کپسوله‌سازی یا Encapsulation در جاوا

ما در زبان‌های برنامه‌نویسی شی‌گرا از جمله جاوا ۴ خاصیت اساسی داریم. ارث‌بری، پلی‌مورفیس، انتزاعی سازی (Abstraction) و کپسوله‌سازی. در این پست میخوام درباره‌ی مفهوم Encapsulation صحبت کنم.

تا الان با مفهوم private و setter و getter آشنا شدید. در روش Encapsulation یا کپسوله‌سازی میایم همه‌ی متغیرهای کلاس رو private میکنیم و از طریق getter – setter بهشون دسترسی می‌گیریم. به خاطر همینه که به این روش پنهان کردن داده‌ها یا (data hiding) هم گفته میشه.

مثال زیر رو ببینید:

package com.soroush;

public class Encapsulation {
    private int id;
    private String fname;
    private String lname;
    private int age;
    private double price;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getFname() {
        return fname;
    }

    public void setFname(String fname) {
        this.fname = fname;
    }

    public String getLname() {
        return lname;
    }

    public void setLname(String lname) {
        this.lname = lname;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}

این یک نمونه از Encapsulation یا کپسوله‌سازی در جاوا هستش که اینجا استفاده شده.

یه روش دیگه برای پر کردن داده‌ها توی کپسوله‌سازی یا Encapsulation استفاده از سازنده کلاس و یا همون Constructors هستش.تکه کد زیر رو میتونید ببینید برای این منظور:

package com.soroush;

public class Encapsulation {
    private int id;
    private String fname;
    private String lname;
    private int age;
    private double price;

    public Encapsulation(int id, String fname, String lname, int age, double price) {
        this.id = id;
        this.fname = fname;
        this.lname = lname;
        this.age = age;
        this.price = price;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getFname() {
        return fname;
    }

    public void setFname(String fname) {
        this.fname = fname;
    }

    public String getLname() {
        return lname;
    }

    public void setLname(String lname) {
        this.lname = lname;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}

 

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

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