فارسی
باز کردن در Telegram

پست Liskov Substitution Principle:

27 مه 2023
D
DailyProjects
Liskov Substitution Principle: خانوم Barbara Liskov در سال ۱۹۸۷ یه اصلی رو به نام LSP معرفی کردن که یکی از اصول طراحی کلاس ها در object oriented programming هست. به طور خلاصه این اصل میگه اگر تایپ B از تایپ A ارث بری میکنه، هرجایی که ما نمونه ای از تایپ A داشته باشیم باید بتونیم به جاش نمونه ای از تایپ B رو قرار بدیم بدون اینکه برنامه به مشکل بخوره. در غیر این صورت این رابطه ارث بری صحیح نیست. مثال: فرض کنید یه کلاس base داریم به اسم Bird که یک متد داره به اسم Fly: class Bird: def fly(self): print("I can fly...") و دو تا subclass داریم به اسم Duck (اردک) و Ostrich (شترمرغ) که از Bird ارث بری میکنن: class Duck(Bird): pass class Ostrich(Bird): pass الان اردک میتونه پرواز کنه چون یه پرنده هست، ولی آیا شترمرغ میتونه پرواز کنه؟ نه نمیتونه. آیا پرنده نیست؟ چرا هست. پس این رابطه درست نیست و اصل LSP رو رعایت نمیکنه. رابطه ی صحیح چطور میتونه باشه؟ اینکه تشخیص بدیم اصلا Fly متد درستی برای Bird نبوده و اون رو این شکلی بازنویسی کنیم: class Bird: pass class FlyingBirds(Bird): def fly(self): print("I can fly...") class Duck(FlyingBirds): pass class Ostrich(Bird): pass ✒️ @Amirsoroushh
25 · 3K ·

در همان حوالی فید

DDailyProjectshttps://www.instagram.com/p/CmOhX6NjhJu/?igshid=MmJiY2I4NDBkZg== اینستاگرام کانالDDailyProjectsروز دختر را به دختران کانال تبریک عرض می کنیم. 🌹🌹
این پیام
DDailyProjectsRaspberry Pi @raspberry_pythonDDailyProjectsFixing bugs @raspberry_python
🐍🐍 Python & Raspberry 🐍🐍 Python & Raspberry 🐍@raspberry_python · کانال · فناوری
7 274مشترک3 920پست در ایندکس
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما