المشيدات في كوتلين Kotlin Constructors

المشيدات في كوتلين 

Kotlin Constructors

المشيدات في كوتلين Kotlin Constructors

في هذا الفصل ، سنتعرف على المنشئات في Kotlin.  لدى Kotlin نوعان من الإنشاءات - أحدهما المنشئ الأساسي والآخر هو المنشئ الثانوي.  يمكن أن تحتوي فئة Kotlin واحدة على مُنشئ أساسي واحد ومنشئ ثانوي واحد أو أكثر.  يقوم مُنشئ Java بتهيئة المتغيرات الخاصة بالأعضاء ، ومع ذلك ، في Kotlin يقوم المُنشئ الأساسي بتهيئة الفصل ، بينما يساعد المُنشئ الثانوي في تضمين بعض المنطق الإضافي أثناء تهيئة نفسه.  يمكن تعريف المنشئ الأساسي على مستوى رأس الفصل كما هو موضح في المثال التالي.
class Person(val firstName: String, var age: Int) {
   // class body
}
في المثال أعلاه ، أعلنا المنشئ الأساسي داخل الأقواس.  من بين الحقلين ، يكون الاسم الأول للقراءة فقط حيث يتم إعلانه كـ "val" ، في حين يمكن تعديل عمر الحقل.  في المثال التالي ، سوف نستخدم المنشئ الأساسي.

fun main(args: Array<String>) {
   val person1 = Person("ahmedalmahallawi.com", 15)
   println("First Name = ${person1.firstName}")
   println("Age = ${person1.age}")
}
class Person(val firstName: String, var age: Int) {
}
ستقوم قطعة الشفرة أعلاه بتهيئة المتغيرين تلقائيًا وتوفير المخرجات التالية في المستعرض.
First Name = ahmedalmahallawi.com
Age = 34
كما ذكرنا سابقًا ، يسمح لك Kotlin بإنشاء واحد أو أكثر من المنشئات الثانوية لفصلك.  يتم إنشاء هذا المنشئ الثانوي باستخدام الكلمة الأساسية "المنشئ".  مطلوب عند الرغبة في إنشاء أكثر من مُنشئ في Kotlin أو عندما تريد تضمين المزيد من المنطق في المُنشئ الأساسي ولا يمكنك القيام بذلك لأن المُنشئ الأساسي قد يتم استدعاؤه بواسطة فصل آخر.  ألقِ نظرة على المثال التالي ، حيث أنشأنا مُنشئًا ثانويًا ونستخدم المثال أعلاه لتنفيذ ذلك.

fun main(args: Array<String>) {
   val HUman = HUman("ahmedalmahallawi.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) {
   }
}
ملاحظة - يمكن إنشاء أي عدد من المنشئات الثانوية ، ومع ذلك ، يجب على كل منشئي البنية استدعاء المنشئ الأساسي بشكل مباشر أو غير مباشر.

 الجزء أعلاه من الشفرة سوف ينتج عنه المخرجات التالية في المتصفح.
Hey!!! TutorialsPoint.comWelcome to the example of Secondary  constructor