Syntax | سینتکس
شی گرایی قراره با یه سری مثال از دنیای واقعی شی گرایی رو براتون توضیح بدم. ما موجودی داریم به اسم گربه (class) که این موجود ویژگی (Attribute) و رفتار (Method) هایی رو داره. برای مثال گربه ویژگی هایی مثل رنگ چشم، وزن و ... داره. همچنین رفتار هایی رو داره مثل…
حالا که با مثالی ساده با شی گرایی آشنا شدیم برای encapsulation و abstraction مثال های کاربردی تری رو بزنیم.
Encapsulation
بعضی وقتا نیازه که ما یک سری ویژگی ها و متد هایی رو تعریف کنیم اما از بیرون قابل دسترس نباشه.
مثلا attribute به اسم score داریم که امتیاز رو نگه میداریم. بقیه قسمت های کد نباید بصورت مستقیم بتونن مقدار score رو تغییر بدن پس میایم socre رو مخفی می کنیم تا از بیرون دسترسی نداشته باشن و برای تغییر دادن socre یک متد به اسم increase_score می نویسیم که هربار صدا زده بشه به امتیاز کاربر اضافه بشه.
مثال دوم:
فرض کن یه پکیجی رو داری مینویسی که قراره یه سری کارهایی رو انجام بده.
نمیخوای برنامه نویسی که قراره از پکیجت استفاده کنه یه سری رفتار و ویژگی هارو ببینه.
مثلا متد get_response رو داری که خود این متد چند تا متد دیگه رو صدا میزنه تا بتونه پاسخ مناسب رو نشون بده.
این متد هایی که توی get_response استفاده کردیم فقط برای استفاده داخلی نوشته شدن و نمیخوایم برنامه نویس بهشون دسترسی داشته باشه. پس میایم هاید میکنیمشون و از encapsulation استفاده می کنیم
#OOP #Encapsulation
@Syntax_fa
Encapsulation
بعضی وقتا نیازه که ما یک سری ویژگی ها و متد هایی رو تعریف کنیم اما از بیرون قابل دسترس نباشه.
مثلا attribute به اسم score داریم که امتیاز رو نگه میداریم. بقیه قسمت های کد نباید بصورت مستقیم بتونن مقدار score رو تغییر بدن پس میایم socre رو مخفی می کنیم تا از بیرون دسترسی نداشته باشن و برای تغییر دادن socre یک متد به اسم increase_score می نویسیم که هربار صدا زده بشه به امتیاز کاربر اضافه بشه.
مثال دوم:
فرض کن یه پکیجی رو داری مینویسی که قراره یه سری کارهایی رو انجام بده.
نمیخوای برنامه نویسی که قراره از پکیجت استفاده کنه یه سری رفتار و ویژگی هارو ببینه.
مثلا متد get_response رو داری که خود این متد چند تا متد دیگه رو صدا میزنه تا بتونه پاسخ مناسب رو نشون بده.
این متد هایی که توی get_response استفاده کردیم فقط برای استفاده داخلی نوشته شدن و نمیخوایم برنامه نویس بهشون دسترسی داشته باشه. پس میایم هاید میکنیمشون و از encapsulation استفاده می کنیم
#OOP #Encapsulation
@Syntax_fa
👍8👌2
Abstraction
هر ساله ماشین ها از نظر فنی کلی تغییر می کنن اما شخصی که با یک ماشین چند سال پیش رانندگی کرده باشه با ماشین الانم میتونه رانندگی کنه. اینجاست که abstraction باعث میشه این اتفاق بیوفته.
اومدن بصورت انتزاعی تعریف کردن که ماشین دنده داره، پدال گاز داره و فرمون داره و هر کدومشون به چه صورت عمل می کنن.
به همین دلیل با اینکه از نظر فنی و داخلی کلی تغییر میکنن اما طرز استفاده ازش تغییر خاصی نمیکنه.
بیاید یه مثال دیگه بزنیم:
فرض کنید شما یک وب سایت طراحی کردید. یه سری دکمه ها و قابلیت ها قرار دادید تا کاربر بتونه ازش استفاده کنه.
با اینکه سبد خرید برای کاربر همونه اما پشت صحنه کلی تغییر دادید و بروزرسانیش کردید.
همچنین شما هم برای طراحی وب سایت از یک سری ابزار ها استفاده کردید که این ابزار ها همش در حال بروز رسانی هستند اما نحوه استفاده شما تغییری نمیکنه.
به این مفهوم Abstraction میگن.
#OOP #Abstraction
@Syntax_fa
هر ساله ماشین ها از نظر فنی کلی تغییر می کنن اما شخصی که با یک ماشین چند سال پیش رانندگی کرده باشه با ماشین الانم میتونه رانندگی کنه. اینجاست که abstraction باعث میشه این اتفاق بیوفته.
اومدن بصورت انتزاعی تعریف کردن که ماشین دنده داره، پدال گاز داره و فرمون داره و هر کدومشون به چه صورت عمل می کنن.
به همین دلیل با اینکه از نظر فنی و داخلی کلی تغییر میکنن اما طرز استفاده ازش تغییر خاصی نمیکنه.
بیاید یه مثال دیگه بزنیم:
فرض کنید شما یک وب سایت طراحی کردید. یه سری دکمه ها و قابلیت ها قرار دادید تا کاربر بتونه ازش استفاده کنه.
با اینکه سبد خرید برای کاربر همونه اما پشت صحنه کلی تغییر دادید و بروزرسانیش کردید.
همچنین شما هم برای طراحی وب سایت از یک سری ابزار ها استفاده کردید که این ابزار ها همش در حال بروز رسانی هستند اما نحوه استفاده شما تغییری نمیکنه.
به این مفهوم Abstraction میگن.
#OOP #Abstraction
@Syntax_fa
👍16👌4
مینی دوره آموزش پیشرفته جنگو
معرفی دوره:
https://youtu.be/bZacX-b_qtA?si=B8HEaettjHDQCrMZ
#Django
@Syntax_fa
معرفی دوره:
https://youtu.be/bZacX-b_qtA?si=B8HEaettjHDQCrMZ
#Django
@Syntax_fa
🔥9👍5
مینی دوره آموزش پیشرفته جنگو
Interface:
https://youtu.be/KtQJUxKgcKA?si=965LNES0lc5y2hSL
#Django
@Syntax_fa
Interface:
https://youtu.be/KtQJUxKgcKA?si=965LNES0lc5y2hSL
#Django
@Syntax_fa
🔥4👍2
مینی دوره آموزش پیشرفته جنگو
پیاده سازی logging interface:
https://youtu.be/5FQG_qKlvwA?si=9zwVNWyCZwxUE7SS
#Django
@Syntax_fa
پیاده سازی logging interface:
https://youtu.be/5FQG_qKlvwA?si=9zwVNWyCZwxUE7SS
#Django
@Syntax_fa
🔥4👍2
این بازی آنلاین جالب رو انجام بدید:
https://hamed.github.io/trust/
این بازی بر مبنای نظریه بازیها طراحی شده،
ببینید اگر در واقعیت اعتماد تکامل پیدا کنه، جامعه چجوری رشد میکنه...!
بهترین خروجی چیه؟
و اگه رو به خوبی و درستی و اعتماد پیش بریم، چه رفتارهایی در بلندمدت از بین میرن...
@Code_Crafters
#game
@Syntax_fa
https://hamed.github.io/trust/
این بازی بر مبنای نظریه بازیها طراحی شده،
ببینید اگر در واقعیت اعتماد تکامل پیدا کنه، جامعه چجوری رشد میکنه...!
بهترین خروجی چیه؟
و اگه رو به خوبی و درستی و اعتماد پیش بریم، چه رفتارهایی در بلندمدت از بین میرن...
@Code_Crafters
#game
@Syntax_fa
hamed.github.io
تکامل اعتماد
یک راهنمای تعاملی برای نظریه بازی درباره اینکه چرا به یکدیگر اعتماد میکنیم
👍13🌚1
Syntax | سینتکس
این بازی آنلاین جالب رو انجام بدید: https://hamed.github.io/trust/ این بازی بر مبنای نظریه بازیها طراحی شده، ببینید اگر در واقعیت اعتماد تکامل پیدا کنه، جامعه چجوری رشد میکنه...! بهترین خروجی چیه؟ و اگه رو به خوبی و درستی و اعتماد پیش بریم، چه رفتارهایی در…
این گیم رو هم یکی از اعضا معرفی کرد. برای یادگیری ترمینال لینوکس مفیده
https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html
#Game
@Syntax_fa
https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html
#Game
@Syntax_fa
web.mit.edu
Terminus
🔥4👍2
مینی دوره آموزش پیشرفته جنگو
اضافه کردن seq datalust به پروژه:
https://youtu.be/TyWzBpOcNlY
#Django
@Syntax_fa
اضافه کردن seq datalust به پروژه:
https://youtu.be/TyWzBpOcNlY
#Django
@Syntax_fa
🔥6👍1
😁14👍1