رفتن به محتوای اصلی

مجله مسیر حرفه‌ای کارجویا

مطالب کاربردی برای یادگیری مهارت، شناخت بهتر بازار کار و تصمیم‌گیری دقیق‌تر درباره آینده حرفه‌ای.

۱۴۰۲/۰۳/۱۶ برنامه نویسی ۱ دقیقه زمان مطالعه

کپسوله سازی در پایتون | ۱ مثال کاربردی

کپسوله سازی در پایتون | ۱ مثال کاربردی

با سلام خدمت تمامی دوستان عزیزم توی این مقاله قراره به بررسی یکی دیگر از اصول مهم و کاربردی شی گرایی یعنی کپسوله سازی در پایتون بپردازیم .

اگر هنوز با مفهوم شی گرایی در پایتون آشنا نیستین از اوجب واجباته که قبل از ادامه ی مطالعه ی این مقاله به مطالعه ی مقاله ی شی گرایی در پایتون بپردازین .

همچنین اگر مایلید با یکی دیگر از اصول مهم شی گرایی در پایتون آشنا بشین می تونین به مقاله ی قبلی یعنی ارث بری در پایتون سر بزنین .

بریم بررسی کنیم که کپسوله سازی در پایتون چیه و چه کاربردی داره .

مفهوم کپسوله سازی در پایتون

برای درک بهتر مفهوم کپسوله سازی در پایتون در دنیای واقعی مثالی می زنم که در ک این مفهوم راحت تر بشه . فرض کنید در یک دانشگاه که شامل بخش های مختلفی نظیر بخش مالی ، آموزش ، حراست و … است ؛ فرض کنید شرایطی پیش آمده که یکی از اعضای بخش آموزش ما تمامی سوابق مالی یکی از دانشجویان را نیاز دارد .

در ابتدا این شخص اجازه ندارد که به صورت مستقیم به اطلاعات مربوط به سوابق مالی دانشجو دسترسی داشته باشد . کاری که او باید انجام دهد این است که با شخص دیگری که در بخش مالی فعالیت می کند تماس بگیرد و از او بخواهد که اطلاعات مورد نیاز را به او ارائه دهد .

در این مثال داده های مربوط به بخش مالی و کارمندانی که این توانایی را دارند که داده های مربوط به این بخش را تغییر دهند ، بخش مالی می نامیم .

کپسوله سازی در پایتون نیز به همین صورت است و سبب پنهان سازی داده ها می شود . (داده ها را درون کپسولی می ریزیم که محتویات آن از دید بقیه ی افراد پنهان شود .)

در این مثال هم داده های بخش مختلف (مالی ، آموزش ، حراست و … ) از دید بخش های دیگر پنهان شده است .

نحوه ی پیاده سازی کپسوله سازی در پایتون

خب حالا که با مفهوم کپسوله سازی در پایتون آشنا شدیم بریم با هم نحوه ی پیاده سازی آن را مورد بررسی قرار دهیم و فرض کنید کلاسی به نام Student داریم که متد __init__ آن علاوه بر self دارای مولفه ی ورودی grade می باشد و از این کلاس یک شی می سازیم .

کپسوله سازی در پایتون

اگر از کپسوله سازی استفاده نکنیم به راحتی می توانیم ویژگی های این کلاس را تغییر دهیم . برای مثال برای تغییر دادن نمره ی دانشجو کافی است grade شی ای که از کلاس ساختیم را به عدد دیگری تغییر دهیم . مانند تصویر زیر :
کپسوله سازی در پایتون

در شی گرایی اگر بخواهیم کلاسی را کپسوله کنیم تا بتوان متغیرهای کلاس را تغییر داد ، کافی است پشت متغیر مورد نظر ۲ تا underscore (__) قرار دهیم . با انجام این کار اگر از کلاس مورد نظر خود شی ای بسازیم و بخواهیم ویژگی نمونه ای که ساختیم را تغییر دهیم به این دلیل که در کلاس خود از کپسوله سازی استفاده کرده ایم برنامه ی ما با خطا مواجه شده و به ما Attribute Error می دهد . ( مفسر به ما می گوید که این همپین ویژگی ای وجود ندارد . )

کپسوله سازی در پایتون

حالا که به لطف کپسوله سازی در پایتون نمی توان از بیرون از کلاس که کپسوله سازی شده ویژگی هایش را عوض کرد ، چگونه می توان یم در صورت لزوم ویژگی های کلاس مورد نظر را تغییر دهیم .

برای تغییر ویژگی های کلاسی که کپسوله شده باید از داخل کلاس ویژگی ها را تغییر دادد که برای انجام این کار کافی است دو متد set ( برای ست کردن متغیر جدید )

و get ( برای چاپ کردن آن ) بسازیم .

مثال زیر به صورت کامل نحوه ی کپسوله سازی در پایتون و استفاده از متد های set و get را نشان می دهد .

کپسوله سازی در پایتون

خب این مقاله هم اینجا به پایان می رسه . ممنونم که تا انتهای مقاله من رو همراهی کردین . امیدوارم بعد از مطالعه ی این مقاله به راحتی بتونین از مفهوم کپسوله سازی در پایتون استفاده کنید . برای مطالعه ی بیشتر در رابطه با کپسوله سازی در پایتون به اینجا سر بزنین .

تا مقاله ی بعدی خداوند یار و نگهدارتون .

نویسنده مقاله

ebrahim

ثبت دیدگاه

اگر نکته یا تجربه مرتبطی دارید، آن را بنویسید تا گفت‌وگوی کامل‌تری درباره این موضوع شکل بگیرد.

کارجویا

ورود به کارجویا

برای ورود به حساب کاربری، شماره موبایل ثبت‌شده خود را وارد کنید.

حساب نداری؟ ثبت نام کن