ورود / ثبت نام سبد خرید 0
در این درس آموزشی به بحث متود سازنده یا همان constructor در شی گرایی زبان برنامه نویسی کاتلین میپردازیم.
در زبان برنامه نویسی کاتلین دو نوع متود سازنده وجود دارد:
هر کلاس که در زبان برنامه نویسی کاتلین تعریف میشود میتواند تنها یک عدد سازنده ی primary و یک یا چند سازنده ی secondary داشته باشد.
در زبان جاوا متود سازنده مقادیر اولیه را تعریف میکند هر چند در زبان کاتلین نیز سازنده ی 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
اتمام درس
محصولات برگزیده مناسب شما