تخفیفات تابستان تاپایان: یکشنبه ۲ مهر ۱۴۰۲
بزن بریم فروشگاه
درس 5 - متود سازنده در کاتلین
آموزش متود های سازنده در زبان کاتلین

آموزش متود سازنده ( constructor ) در کاتلین

در این درس آموزشی به بحث متود سازنده یا همان constructor در شی گرایی زبان برنامه نویسی کاتلین میپردازیم.

در زبان برنامه نویسی کاتلین دو نوع متود سازنده وجود دارد:

  • primary constructor
  • secondary constructor

هر کلاس که در زبان برنامه نویسی کاتلین تعریف میشود میتواند تنها یک عدد سازنده ی primary و یک یا چند سازنده ی secondary داشته باشد.

آموزش متود constructor در زبان kotlin

در زبان جاوا متود سازنده مقادیر اولیه را تعریف میکند هر چند در زبان کاتلین نیز سازنده ی primary کلاس را پیاده سازی اولیه میکند ولی سازنده های secondary به توسعه دهنده اجازه میدهد تا اطلاعات اضافی را هنگام پیاده سازی کلاس به آن تزریق کنند.

متود سازنده ی primary میتواند در هدر کلاس تعریف شود. در زیر مثالی را مشاهده میفرمایید.

class Person(val firstName: String, var age: Int) {
   // class body
}

در مثال بالا ما سازنده ی primary constructor را تعریف کردیم و دو عدد آرگومان ورودی به آن تعریف کردیم که اولی از نوع val یعنی غیرقابل تغییر است و دومی از نوع var که قابل ویرایش است.

و در مثال زیر نیز نحوه ی استفاده از سازنده درون کدها را آورده ایم.

fun main(args: Array<String>) {
   val person1 = Person("avasam.ir", 15)
   println("First Name = ${person1.firstName}")
   println("Age = ${person1.age}")
}
class Person(val firstName: String, var age: Int) {
}

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

First Name = avasam.ir
Age = 15

همانطور که بالاتر اشاره کردیم زبان برنامه نویسی کاتلین به شما این امکان را میدهد که سازنده های دیگری با عنوان secondary constructor نیز داشته باشید.

این سازنده ها با کلمه ی constructor تعریف میشوند.این سازنده ها زمانی استفاده میشود که بخواهید بصورت اختیاری سازنده های دیگری با ورودی های متفاوت تری داشته باشید.

به مثال زیر دقت کنید تا مفهوم secondary constructor ها را یاد بگیرید.

fun main(args: Array<String>) {
   val HUman = HUman("avasam.ir", 25)
   print("${HUman.message}"+"${HUman.firstName}"+
      "Welcome to the example of Secondary  constructor, Your Age is-${HUman.age}")
}
class HUman(val firstName: String, var age: Int) {
   val message:String  = "Hey!!!"
	constructor(name : String , age :Int ,message :String):this(name,age) {
   }
}

نکته : شما میتوانید سازنده های نوع secondary در زبان کاتلین را به هر تعدادی که نیاز دارید بسازید و محدودیتی از این نظر وجود ندارد.

کدهای بالا خروجی زیر را نمایش خواهد داد.

Hey!!! avasam.ir Welcome to the example of Secondary  constructor, Your Age is- 25

 

اتمام درس