با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمند به دوره آموزش کاتلین هستند. در جلسه قبل به معرفی Class و Object در کاتلین پرداختیم. در این جلسه در پی وی لرن به آموزش سازنده ها در کاتلین خواهیم پرداخت.
این جلسه به آموزش سازنده ها در کاتلین تعلق دارد.
در این جلسه مطالب مفیدی راجع به سازنده ها در کاتلین می آموزیم. در کاتلین دو نوع سازنده وجود دارد:
سازنده های اصلی primary constructor
سازنده اولیه secondary constructor
در کاتلین، کلاس مورد نظر می تواند یک سازنده اصلی و چندین سازنده ثانویه داشته باشد.
سازنده جاوا اجزاء مقادیر را مقدار دهی می کند.
اما در کاتلین سازنده اولیه کلاس مورد نظر که مقدار دهی می کند و سازنده ثانویه به مقدار دهی درست و صحیح آن ها کمک می نماید.
همان طور که در مثال زیر می بینید سازنده اصلی می تواند در سطح هدر کلاس نمایش داده شود.
1 2 3 | class Person(val firstName: String, var age: Int) { // class body } |
در مثال بالا ما سازنده اصلی را در داخل پرانتز نشان داده ایم.
در میان دو فیلد نام اولی read-only است که با عنوان “val” نشان داده شده است؛ فیلد age قابلیت ویرایش دارد.
در مثال از سازنده اصلی استفاده شده است.
1 2 3 4 5 6 7 | fun main(args: Array<String>) { val person1 = Person("TutorialsPoint.com", 15) println("First Name = ${person1.firstName}") println("Age = ${person1.age}") } class Person(val firstName: String, var age: Int) { } |
کد بالا دو متغیر را به صورت خودکار راه اندازی می کند و خروجی زیر را در مرورگر ایجاد می نماید.
1 2 | First Name = TutorialsPoint.com Age = 15 |
همانطور که قبلا ذکر شد، کاتلین اجازه می دهد تا یک یا چند سازنده ثانویه برای کلاس خود ایجاد کنید. این سازنده ثانویه با استفاده از کلمه کلیدی “constructor” ایجاد می شود.
لازم است هرگاه بخواهید بیش از یک سازنده را در کاتلین ایجاد نمایید کاتلین اجازه این کار را نمی دهد، زیرا سازنده اولیه ممکن است توسط برخی کلاس های دیگر نام گذاری شده باشد.
در مثال زیر یک سازنده ثانویه ایجاد کرده و برای پیاده سازی نیز از همان استفاده می نماییم.
1 2 3 4 5 6 7 8 9 10 | fun main(args: Array<String>) { val HUman = HUman("TutorialsPoint.com", 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) { } } |
شما می توانید هر تعداد سازنده که بخواهید بسازید اما همه این سازنده ها باید توسط سازنده اصلی نام گذاری شوند.
قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.
در این جلسه ما به آموزش سازنده ها در کاتلین پرداختیم.
در جلسه بعد شما را با inheritance در کاتلین آشنا خواهیم کرد.
با پی وی لرن همراه باشید.