0

#!تاپیک جامع آموزش پایتون!#

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:#!تاپیک جامع آموزش پایتون!#
دوشنبه 21 اردیبهشت 1394  3:19 AM

سلام 
 
قسمت نوزدهم آموزش زبان برنامه نویسی پایتون.
 
همانطور که در درس قبل گفته بودیم امروز با برنامه نویسی شی گرا و کلاس ها در خدمت شما هستیم.
 
برنامه نویسی شی گرا :
 
 
‫مقدمه‬ 
‫برای برنامه نویسی شی گرا در هر زبانی ابتدا باید مفهوم اصلی شی گرایی را درک کرد. شی گرایی‬ 
‫ابزار و یا خصوصیت خاص یک زبان برنامه نویسی نیست؛ حتی در زبانی مثل ‪ c‬هم که از امکانات شی
‫گرایی برخوردار نیست، باز هم امکان برنامه نویسی شی گرا وجود دارد. نمونه ای بارز از یک همچین‬ 
‫برنامه هایی کتابخانه ی معروف ‪ gtk‬است که به صورت شی گرا در ‪ c‬پیاده سازی شده است. در‬ 
‫حقیقت شی گرایی نوعی طرز تفکر خاص در پیاده سازی برنامه هاست. به این صورت که برنامه‬ 
‫نویس با قسمت های مختلف برنامه اش دقیقا همانند اشیای عادی در دنیای حقیقی رفتار میکند، و‬ 
‫سعی میکند با کنار هم قرار دادن آن ها برنامه ی خود را به سرانجام برساند.‬ 
 
‫مثالی از دنیای واقعی‬ :
 
‫مثال 1:
نجاری را در نظر بگیرید که برای ساخت یک میز باید از اشیای مختلفی مثل میخ، چکش، اره‬ 
‫و... استفاده کند. هر کدام از این ابزارها اشیای جدا گانه ای هستند که بدون دخالت در کار یکدیگر به‬ 
‫ساخت میز مورد نظر نجار کمک میکنند. چکش میخ را میکوبد بدون این که از ماهیت میخ با خبر‬ 
‫باشد... اره چوب را تکه تکه میکند بدون این که در کار چکش دخالت کند.... در نهایت حاصل کار میزی‬ 
‫خواهد بود که نجار با استفاده از این ابزارها پدید آورده است. در حقیقت نجار برای ساخت میز خود از‬ 
‫اشیای مختلفی که هر کدام ماهیت و خصوصیات خاص خودشان را دارند کمک گرفت.‬ 
‫مثال 2: 
فرض نمایید که ما قصد داریم قطعه ای را به طور انبوه تولید نماییم یک روش آنست که ما‬ ‫این قطعات
را یک به یک تراش دهیم ولی این کار ممکن است ماهها و شاید سالها طول بکشد و اگر‬ ‫نتیجه کار را
هم بررسی نماییم ملحظه می کنیم که قطعات همگی یک شکل و یک دست نیستند‬ ‫همچینین هزینه
تمام شده آن هم بسیار بال خواهد بود اما روش بهتری نیز وجود دارد و آن این است که‬ ‫ما یک قالب برای
آن قطعه بسازیم و بعد با استفاده از آن قالب قطعات مورد نیاز خود را تولید نماییم.‬ 
‫پس اگر ما فقط در ساختن قالب دقت لزم را به خرج دهیم در پایان کار مشاهده می کنیم که قطعات‬ 
‫تولید شده همگی یک شکل و یک دست از آب درآمده اند. در برنامه نویسی شی گرا هم در واقع از‬ 
‫این روش استفاده می شود ما یک قالب )کلس( می سازیم و آن را امتحان می نماییم تا از درستی‬ 
‫طرز کار آن مطمئن شویم و بعد از آن بارها استفاده می نماییم.‬ 
 
‫مزایای شی گرایی‬ :
 
‫شی گرایی در دنیای برنامه نویسی هم به همین صورت است. برنامه نویس در طول کار خود اشیای‬ 
‫مورد نیاز خود را ایجاد میکند و یا از اشیای آماده ای که توسط برنامه نویسان دیگر ایجاد شده است‬ 
‫استفاده میکند — تا با در کنار هم قرار دادن آن ها برنامه ای را به وجود آورد که از اشیای مختلفی‬ 
‫تشکیل شده است. این روش مزیت های زیادی دارد که در زیر چند نمونه از اصلی ترین آن ها را با هم‬ 
‫مرور میکنیم:
 
•بهینه شدن ساختار برنامه :
شی گرایی باعث تولید برنامه های ساخت یافته تری می شود که‬ 
‫امکان تغییر و توسعه در برنامه را ساده تر میکند. مثال: اگر بخواهید قسمت خاصی از برنامه‬ 
‫را تغییر دهید، دیگر لزم نیست تمام کدهای برنامه را ویرایش کنید چون می دانید که تغییرات‬ 
‫شما فقط در همان قسمت مد نظرتان اعمال میشود و خللی در کار قسمت های دیگر به وجود‬ 
‫نمی آید.‬ 
 
‫•استفاده مجدد از کدها :
وقتی شما یک شی جدید را خلق میکنید میتوانید تا مدت ها از آن‬ 
‫استفاده کنید و یا آن را با دیگران به اشتراک بگذارید. این مزیت هنگام ساخت کتابخانه های‬ 
‫شی گرا بسیار کارآمد است. مثال: یک دوچرخه می تواند تا مدت زمان زیادی به شما سواری‬ 
‫دهد. تازه میتوانید برای سواری آن را به دوستانتان هم قرض بدهید.‬ 
 
‫•کپسوله سازی :
در برنامه نویسی هر چه اشیای تشکیل دهنده ی یک برنامه از طرز کار یکدیگر‬ 
‫بی خبرتر باشند، برنامه شما ساختار بهتری پیدا خواهد کرد زیرا در این شرایط اشیا در کار‬ 
‫یکدیگر دخالت نمی کنند؛ با استفاده از شی گرایی قسمت های مختلف برنامه ی شما از نحوه‬ 
‫ی کار همدیگر بی خبرند و این مساله در حالی اتفاق می افتد که شما به عنوان برنامه نویس از‬ 
‫طرز کار آن ها اطلاع دارید. مثال: یک نجار می داند که فرو رفتن میخ در چوب، به خاطر نوک‬ 
‫یک کوبیدن خالص! یعنی بهتر است که چکش حتی از شی ای که به آن نیرو وارد می کند هم‬ 
‫بی خبر بماند. به زبان دیگر چکش فقط باید ضربه بزند، این که شی ضرب دیده میخ باشد یا‬ 
‫دیوار، دیگر در حیطه ی معلومات چکش نمی گنجد!‬ 
 
‫•وراثت 
: این قابلیت دقیقا متناسب با نامش عمل میکند. یعنی اگر یک شی "الف" از شی "ب"‬ 
‫ارث ببرد، یک سری از خصوصیات شی "ب" به شی "الف" وارد می شود. در برنامه نویسی به‬ 
‫شی "الف" فرزند، و به شی "ب" والد گفته می شود.‬ 
 
‫مثال‬ 
‫فرزندی که به دنیا می آید اصول یک سری از خصوصیات ظاهری و یا رفتاری پدر خودش را به ارث‬ 
‫خواهد برد حال که با تعدادی از مزایای اصلی شی گرایی آشنا شدید، مطمئنا اشتیاق برنامه نویسان به‬ 
‫برنامه های شی گرا را درک خواهید کرد.‬ 
 
‫نتیجه گیری‬ :
 
‫پایتون یکی از آن زبان هایی است که بر خلف ‪ ، c‬امکانات شی گرایی را در بطن وجودش پیاده سازی‬ 
‫کرده است. برنامه نویسان میتوانند با استفاده از پایتون به صورت قدرتمندی اقدام به تولید برنامه‬ 
‫های شی گرا نمایند. اما به خاطر داشته باشید وجود تفکر شی گرایی به هنگام برنامه نویسی مهم تر‬ 
‫ار وجود امکانات شی گرایی در آن زبان خاص است. حال که با مفهوم شی گرایی در دنیای حقیقی‬ 
‫آشنا شدید می توانید با دنبال کردن این سری مقالت، تمام این مفاهیم را با استفاده از پایتون در‬ 
‫دنیای برنامه نویسی هم پیاده سازی کنید. در این مقالت سعی شده است تا جدید ترین روش های‬ 
‫شی گرایی در پایتون به شما آموزش داده شود. به همین خاطر ما از کلس های سبک جدید پایتون‬ 
‫برای آموزش استفاده کرده ایم که به مراتب قابلیت های بالتری نسبت به کلس های کلسیک پایتون‬ 
‫دارند.‬ 
‬ 
منبع :
ویکی فارسی پایتون و حمید روحی

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

تشکرات از این پست
دسترسی سریع به انجمن ها