کپسوله سازی در پایتون
کپسوله سازی
امروز به یکی ازاصول مهم شی گرایی ، کپسوله سازی میپردازیم.
کپسوله سازی بسته ای از داده ها و توابع میباشد که روی آن داده ها در یک شی کار می کنند. با این کار میتوانیم وضعیت داخلی شی را از بیرون نهان کنیم. یک کلاس نمونه ای از کپسوله سازی است زیرا یک کلاس داده ها و متدها را در یک واحد جمع میکند و یک کلاس از طریق متدها دسترسی به ویژگی های خود را فراهم میکند.
در ادامه مثالی از کپسوله سازی را آورده ایم:
class Counter: def __init__(self): self.current = 0 def increment(self): self.current += 1 def value(self): return self.current def reset(self): self.current = 0
در کد زیر یک نمونه جدید از کلاس counter ایجاد میکنیم و متد increment را سه بار قبل از نمایش مقدار فعلی شمارنده در صفحه فراخوانی میکند:
counter = Counter() counter.increment() counter.increment() counter.increment() print(counter.value())
خروجی:
3
آموزش کپسوله سازی در پایتون را بطور کامل در سایت geeksforgeeks این میتونید مشاهده کنید.
مزایای کپسوله سازی در پایتون
- کپسوله سازی کدی به خوبی تعریف شده و قابل خواندن ارائه می دهد.
- از تغییر یا حذف تصادفی جلوگیری می کند.
- کپسوله سازی امنیت را فراهم می کند.
پایتون سه نوع اصلاح کننده دسترسی خصوصی، عمومی و محافظت شده را ارائه می دهد.
اعضای عمومی (در داخل و خارج از یک کلاس قابل دسترسی است)
اعضای خصوصی (در کلاس قابل دسترسی است)
اعضای محافظت شده (در کلاس و زیرکلاس هایش قابل دسترسی است)
نکته: همه متغیرهای عضو کلاس به طور پیش فرض عمومی هستند.
نکته: اعضای داده محافظت شده زمانی استفاده می شوند که وراثت را پیاده سازی می کنیم و می خواهیم به اعضای داده اجازه دهیم فقط به کلاس های فرزند دسترسی داشته باشند.
Getters و Setters در پایتون
برای پیاده سازی کپسوله سازی مناسب در پایتون باید از Setters و Getters استفاده کنیم. هدف اصلی استفاده از Setters و Getters در شی گرایی اطمینان از کپسوله سازی داده میباشد.
دوست عزیز امیدوارم محتوای این پست برای شما مفید و کاربردی باشد اگر قصد یادگیری بیشتر مبحث کپسوله سازی را دارید به ادامه مطلب مراجعه کنید.