Programming? – Telegram
Programming?
11.9K subscribers
373 photos
645 videos
978 files
511 links
🏅Channel privileges

🎗Ninth year of operation
🎗Completely specialized members
🎗Transmitter in channel automation
🎗, ...

🎯 second channel Programming books 👇
@topbookit

🎯 third channel laptop👇
@sysline


👨🏻‍💻Admin channels : @coderme
Download Telegram
در دیدگاه شیء گرایی ما با سه مقوله مواجه هستیم .

1-برنامه سازی شی گرایی (Object-oriented programming)

2-طراحی شی گرایی (Object-oriented design)

3-تحلیل شیء گرایی (Object-oriented analysis)
برنامه نویسی شیء گرایی

یک شیوه برنامه نویسی است که در آن برنامه ها بصورت مجموعه ای از اشیاء که با یکدیگر همکاری می کنند ، سازمان داده شده اند .اشیاء صورت‌های مجرد از ماهیت‌های مطرح در مسئله هستند که دارای وضعیت (درونی) و همچنین عملیات بر روی داده‌ها (وضعیت درونی) می‌باشند.
طراحی شی گرایی

طراحی شیء گرا بر یک پایه مهندسی محکم که مجموعه عناصرش را مدل شیء می نامیم ، بنا شده است . طراحی شی گرایی با دیدگاه سنتی طراحی ساخت یافته متفاوت است ، در این تکنیک ما با اشیا ، سر و کار داریم طراحی شیء گرا بر مباحثی نظیر: شیء، کلاس، مسئولیت، عمل و سناریو استوار است و جهان را به صورت مجموعه ای از اشیاء به هم مرتبط می بیند که هر شیء، رفتار خاص خود و مسئولیت خاص خود را دارد.
تحلیل شی گرایی

فرآیندی است که برای درک سیستم با استفاده از کلاسها و اشیایی که در جهان با آن سیستم مرتبط هستند ، استفاده می شود . در واقع تحلیل گر در این حالت همه اجزا سیستم را بصورت شی ء می بیند و تفکیک می کند ، و براساس قوانین دنیای شی گرایی ، ارتباط بین اشیا را ایجاد می کند.
نحوه ارتباط 3 عنصر بالا با یکدیگر:



اصولا حاصل تحلیل شی گرا به عنوان مدلی که از آن می توانیم طراحی شی ء گرا را آغاز کنیم ، می تواند عمل کند سپس حاصل طراحی شی گرا ، می تواند برای پیاده سازی کامل سیستم ، با استفاده از روشهای برنامه نویسی شی گرا مورد استفاده قرار می گیرد . شکل زیر گویای مسله است





تحلیل شی گرا —----------> طراحی شی گرا-----------> برنامه نویسی شی گرا
سه رکن بنیادی شی گرایی



1-کپسوله سازی (encapsulation)

2-وراثت (inheritance)

3-چند شکلی بودن (polymorphism)
1-کپسوله سازی : فرآیند مخفی نگاه داشتن تمام جزییات از یک شی است که مشارکتی در ویژگیهای اصلی شی نداشته باشند . به شکل زیر نگاه کنید ، شما در فرایند کپسوله سازی از جزییات شی خود بی خبرید
کپسوله سازی
2-وراثت : یک سلسله مراتب میان کلاسها در سیستمهای شی گرا است . وراثت تشبیهی از دنیای واقعی وراثت موجود است ، کلاس فرزند می تواند خصوصیات کلاس پدر را به ارث ببرد.

3-چند شکلی بودن : یعنی اینکه یک موجودیت ، دارای اشکال مختلفی باشد. و یا به تعبیری با استفاده از یک نام واحد بتوان رفتارهای مختلفی را در شرایط مختلف آن هم بصورت خودکار انتظار داشت .
🤩1
برای درک دو مورد بالا به شکل زیر دقت کنید ، ما یک مجموعه حیوانات داریم خوب همه آنها حیوان هستند ، پس می توان یک کلاس والد یا پدر به نام حیوان داشته باشیم که بقیه کلاسها مانند ، شیر ، سگ و گربه و غیره از آن مشتق شده باشند یا به تعبیری از آن ارث بری می کنند یعنی کلاس شیر باید خاصیت کلاس حیوان را به ارث ببرد .
پس هر شیری یا هر گربه ای و غیره مطابق شکل بالا برخی خصوصیا خود را از کلاس حیوان به ارث می برد.
در واقع وقتی می گوییم کلاس شیر از کلاس حیوان ارث بری می کند یعنی ابتدا شیر تمام خصوصیت حیوانی را می گیرد (طبق اصل وراثت ) و سپس خصوصیات منحصر به فرد خود را نیز دارد ، علاوه بر این ممکن است برخی موجودیتهای حیوانی مشترک برای شیر باید باز تعریف شود (طبق اصل چند ریختی )
اما می دانیم که همه این حیوانات دارای خصوصیات مشترک اما با رفتار های متفاوت است ، مثلا بانگ می زنند و یا به تعبیری صدا تولید می کنند ، اگر چه این عمل با نام تولید صدا در تمام این حیوانات مشترک است ، اما هر کدام از آنها دارای ویژگی منحصر به فردی می باشد ، مثلا صدای سگ با صدای گربه متفاوت است . پس ما در اینجا در کلاس هر کدام از این حیوانات باید رفتار تولید صدا را برای هر کدام از این حیوانات باز تعریف کنیم .
> > > آموزش زبان برنامه نویسی پایتون از 0 تا 100
> > > قسمت سیزدهم

با عرض سلام و خسته نباشید.

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

دوستانی که نتونستن جواب درستی به سوال بدن همون کسانی هستند که حرف من رو در مورد این که "تمرین کردن خیلی مهمه" جدی نگرفتن.
قبلا هم گفتم که با حفظ کردن آموزشها شما یک برنامه ساده هم نمیتونید بنویسید (چه زبان پایتون و چه هر زبان دیگه ای) و نیاز دارید هر چیزی یاد میگیرید روش تمرین کنید.

قرار شد در این قسمت تابع رو تا حدودی یاد بگیریم.
قبل از پرداختن به تابع جواب تمرین فصل قبل رو میدم.
👇👇👇👇👇
فایل زیر حاوی برنامه پایتون است و توضیحات لازم در آن وجود دارد:
👇👇👇👇👇
تعریف تابع:

وقتی میخوایم یک تابع بنویسیم ابتدا باید با یک دستور به مفسر پایتون بفهمونیم که شروع به ساختن تابع کردیم(مثل حلقه ها که با while میفهموندیم شروع به ساختن حلقه کردیم)

دستور def برای همین کار ساخته شده که بعد از نوشتن این دستور و رعایت یک فاصله باید نام تابع و پرانتز باز و بسته رو بهش بدیم و بعد از دونقطه که آخرش میذاریم به خط بعد بریم و بدنه ی تابع رو بنویسیم:
def name():
body
برای مثال به توابع زیر دقت کنید:
👇👇👇👇👇