آموزش رایگان صفر تا صد کاتلین (Kotlin) به زبان ساده
-
معرفی کاتلین
-
شروع کار با Kotlin
-
سینتکس (Syntax) در Kotlin
-
چاپ خروجی در Kotlin
-
کامنتها در Kotlin
-
متغیرها در Kotlin
-
انواع داده در Kotlin
-
اپراتورها در Kotlin
-
همه چیز درباره رشتهها (Strings) در Kotlin
-
همهچیز دربارهی Boolean در Kotlin
-
شرطها در Kotlin: if ... else
-
آشنایی با when در Kotlin
-
حلقههای While در Kotlin
-
دستورات Break و Continue در Kotlin
-
آرایهها در Kotlin
-
حلقه for در Kotlin
-
محدودهها (Ranges) در Kotlin
-
توابع در Kotlin
-
برنامهنویسی شیءگرا در Kotlin
-
کلاسها و اشیاء در Kotlin
-
کانستراکتور (Constructor) در Kotlin
-
توابع (Functions) در کلاسهای Kotlin
-
وراثت (Inheritance) در Kotlin
توابع (Functions) در کلاسهای Kotlin
گاهی اوقات نیاز داریم که درون یک کلاس، یک سری عملیات مشخص را انجام دهیم. برای این کار میتوانیم از توابع کلاس استفاده کنیم.
✨ مثال: تعریف یک تابع در کلاس
فرض کن میخواهیم یک کلاس برای ماشینها (Car) بسازیم و داخل آن یک تابع داشته باشیم که وقتی صدا زده شد، پیامی در خروجی چاپ کند.
کد نمونه:
class Car(var brand: String, var model: String, var year: Int) {
// تعریف یک تابع در کلاس
fun ()drive {
println("Wrooom!") // صدای ماشین! 🚗💨
}
}
fun main() {
val c1 = Car("Ford", "Mustang", 1969)
// صدا زدن تابع
c1.()drive
}
✅ نکته: وقتی یک تابع داخل کلاس تعریف شود، به آن تابع کلاس (Class Function) یا تابع عضو (Member Function) میگویند.
✅ نکته: هر شیئی که از کلاس ساخته شود، میتواند به این توابع دسترسی داشته باشد.
📌 ارسال پارامتر به توابع کلاس
همانطور که در توابع معمولی میتوان ورودی (پارامتر) دریافت کرد، در توابع کلاس هم این امکان وجود دارد.
💡 مثال: تابعی که حداکثر سرعت را چاپ میکند
در این مثال، دو تابع داریم:
()driveکه مثل قبل یک پیام ساده چاپ میکند.()speedکه یک مقدار دریافت کرده و حداکثر سرعت ماشین را چاپ میکند.
کد نمونه:
class Car(var brand: String, var model: String, var year: Int) {
// تابع کلاس ساده
fun ()drive {
println("Wrooom!")
}
// تابع کلاس با ورودی
fun ()speed(maxSpeed: Int) {
println("Max speed is: $maxSpeed km/h")
}
}
fun main() {
val c1 = Car("Ford", "Mustang", 1969)
// صدا زدن توابع
c1.()drive
c1.()speed(200)
}
📌 خروجی مورد انتظار:
Wrooom!
Max speed is: 200 km/h
✅ نکته: میتوان به راحتی مقدار حداکثر سرعت را هنگام صدا زدن تابع ()speed مشخص کرد.
✅ نکته: مقدار ورودی در ()speed از نوع Int است، اما میتوان ورودیهای دیگری مثل String یا Double هم ارسال کرد.
🎯 چالش برای تو!
یک کلاس Person بساز که دو تابع داشته باشد:
()introduceکه نام و سن شخص را چاپ کند.()greetکه نام شخص را بگیرد و بگوید: “سلام [نام]!”
