ما در زبانهای برنامهنویسی شیگرا از جمله جاوا ۴ خاصیت اساسی داریم. ارثبری، پلیمورفیس، انتزاعی سازی (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; } }
دیدگاهتان را بنویسید