با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن. و کاربرانی که دوره کامل آموزش برنامه نویسی جاوا را دنبال می کنند. Encapsulation (کپسوله سازی) یکی از چهار مفهوم اصلی در OOP (شیء گرایی) است. سه مفهوم دیگر نیز ارث بری، پلی مورفیسم و انتزاع هستند، که در بخش های قبل به آن پرداختیم. کپسوله سازی در جاوا در واقع قرار دادن فرآیند بستن داده ها (متغیر) و اعمال کد روی دادها (متد) در یک واحد است. در کپسول سازی، متغیرهای یک کلاس از کلاس های دیگر پنهان می شوند و تنها می توان از طریق متدهای کلاس فعلی به آنها دسترسی پیدا کنند. بنابراین، این تکنیک نیز به عنوان نوعی پنهان سازی اطلاعات شناخته می شود. در ادامه ی مباحث فوق، برای آشنایی با کپسوله سازی در جاوا با ما همراه باشید.
در ادامه ی مباحث به منظور آشنایی با کپسوله سازی در جاوا به ارائه ی مفاهیم مقدماتی و چند نمونه کد می پردازیم.
برای رسیدن به کپسوله سازی در جاوا باید اقدامات زیر را انجام دهید:
مثال – کد نمونه ی زیر چگونگی استفاده از کپسوله سازی در جاوا را نشان می دهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /* 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; } } |
متد عمومی ()publicXXX و ()getXXX نقاط دسترسی متغیرهای نمونه کلاس EncapTest است.
به طور معمول، این متدها به عنوان گیرنده و تنظیم کننده نامیده می شود.
بنابراین، هر کلاسی که می خواهد به متغیرها دسترسی پیدا کند، باید از طریق این گیرنده ها و تنظیم کننده ها دسترسی پیدا کند.
متغیرهای کلاس EncapTest می توانند با استفاده از برنامه زیر در دسترس قرار گیرند:
1 2 3 4 5 6 7 8 9 10 11 12 | /* 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()); } } |
نتیجه ی اجرای کد فوق در جاوا بصورت زیر خواهد بود:
1 | Name : James Age : 20 |
فواید کپسوله سازی :
در این بخش نیز ما به یکی دیگر از چهار مفهوم اصلی شی ء گرایی یعنی مبحث آشنایی با کپسوله سازی در جاوا پرداختیم. و یادگرفتیم که چه طور با کپسوله سازی می توان از طریق متد به متغیرهای خصوصی یک کلاس دسترسی پیدا کرد.
در بخش بعدی به مباحث رابط ها در جاوا می پردازیم.