Codeit Mobile
94 subscribers
3 photos
1 video
244 links
📱 آموزش برنامه‌نویسی موبایل

Kotlin • Android

🚀 آموزش ساده، کاربردی و پروژه‌محور
💡 مخصوص توسعه‌دهندگان موبایل
Download Telegram
🚀 کلاس‌های انتزاعی در کاتلین: چرا و چطور؟
🔹 کلاس انتزاعی (Abstract Class) قالبی است که نمی‌توان از آن شیء ساخت؛ فقط برای ارث‌بری طراحی شده.
🔹 در کاتلین با کلمه کلیدی abstract تعریف می‌شود و می‌تواند متدهای «abstract» (بدون پیاده‌سازی) و متدهای معمولی داشته باشد.
🔹 مثال واقعی: فرض کنید انواع روش‌های پرداخت (کارت اعتباری، پی‌پال) دارید. یک کلاس انتزاعی «Payment» با یک متد «abstract» برای پردازش می‌سازید.

📝 نمونه کد ساده:

abstract class Payment {
abstract fun process(amount: Double)

fun logTransaction(amount: Double) {
println("Transaction logged: $amount")
}
}

class CreditCardPayment : Payment() {
override fun process(amount: Double) {
println("Processing $amount via Credit Card")
}
}


هر کلاسی که از «Payment» ارث می‌برد، باید متد «process» را پیاده‌سازی کند. متد «logTransaction» هم به صورت خودکار در دسترس است.
💡 با «abstract class» می‌توانید الگوی «Template Method» را پیاده کنید و از تکرار کد جلوگیری کنید.
🔹 تفاوت با «interface»: کلاس انتزاعی می‌تواند «state» (متغیرهای غیرانتزاعی) داشته باشد.

#Codeit #Android #Kotlin #Jetpack #OOP #AbstractClass
🌐 Codeit → https://code-it.ir

━━━━━━━━━━━━━━━
@CodeitMobile
2👍1