ویرگول
ورودثبت نام
PurpleDyer
PurpleDyer
خواندن ۲ دقیقه·۱ سال پیش

توضیحاتی درمورد کپسوله سازی (Encapsulation) در پایتون

مبحث کپسوله سازی (Encapsulation) در پایتون, یکی از مبحث های برنامه نویسی شی گرایی یا OOP (Object Oriented Programming) به شمار میاد.



کاربرد: از کپسوله سازی برای بستن دسترسی به بیرون از کلاس (class) استفاده می کنند.

<یعنی چی؟>:
- یعنی اینکه ما اون متغیری که داخل کلاس داریم, فقط مختص به همون کلاس میشه و از بیرون کسی نمیتونه مقدار اون رو تغییر (Set), دریافت (Get) و یا حتی حذف (Delete یا Del) کنه.


<چطور میتونیم ازش استفاده کنیم؟>:
- با قرار دادن یک یا دو تا ' _ ' (Underline) قبل از اسم متغیر.
نکته: هم میتونیم از یک و هم از دو Underline استفاده کنیم.


تفاوت یک و دو Underline

یکی گذاشتن: اگر بخوایم فقط به خودمون یادآوری کنیم که ما اجازه ی کار با اون متغیر را نداریم, از یک عدد استفاده می کنیم, ولی ما همچنان بهش دسترسی داریم و میتونیم باهاش کار انجام بدیم.

دو تا گذاشتن: در این حالت, پایتون دسترسی به اون متغیر رو به بیرون کاملا می بنده, به طوری که اون متغیر اصلا وجود نداره!

نکته: با اینکه دسترسی به بیرون قطع میشه, ولی یادتون نره که دسترسی فقط به "بیرون" قطع میشه و شما همچنان میتونین از اون متغیر داخل همون کلاس استفاده کنین.

برای مثال:


یه کار جالب!

ما میتونیم یه تابع (Function) داخل کلاس درست کنیم تا مقدار متغیری که کپسول سازی روش انجام شده (Encapsulated Variable) رو بهمون نشون بده!

برای مثال ما میتونیم این کار رو انجام بدیم:

نکته مهم: حواستون باشه که تابع هست و باید حتما پرانتز هارو بزارین و اون تابع رو صدا بزنین (Call).

حالا برای اینکه یکاری کنیم تا دیگه پرانتز هارو نزاریم, باید اون تابع رو تبدیل به یک ویژگی (Property) کنیم.

<چطوری یک تابع داخل کلاس رو تبدیل به ویژگی اون کلاس کنیم؟>:
- باید قبل از اینکه تابعی که تعریف و درست کردین, Property@ بزارین.

حالا که اون تابع یکی از ویژگی های کلاس شده, ما هم میتونیم مثل یه ویژگی رفتار کنیم و دیگه نیاز نیست پرانتز هارو بزاریم!


امیدوارم از این آموزش خوشتون اومده باشه و لذت برده باشین و مهم تر از همه, تونسته باشم خوب توضیح بدم!

Good Luck!

the end

کپسوله سازیبرنامه نویسیEncapsulationpythonپایتون
https://github.com/PurpleDyer
شاید از این پست‌ها خوشتان بیاید