Kotlin

Kotlin — وراثت (Inheritance)

آخرین بروزرسانی: 1404/08/14

وراثت (Inheritance)

وراثت (Inheritance) یعنی یک کلاس از کلاس دیگر ویژگی و تابع بگیرد. مثل کلاس «دانش آموز ممتاز» که همه قوانین «دانش آموز» را دارد، اما چیزهای بیشتری هم می آورد.

وراثت در کاتلین چیست؟

در کاتلین، کلاس فرزند (Subclass) از کلاس والد (Superclass) ویژگی ها و توابع را می گیرد. بنابراین کد تکراری کمتر می شود و نگهداری آسان تر می شود.

// کلاس والد
open class MyParentClass {
  val x = 5
}

// کلاس فرزند
class MyChildClass : MyParentClass() {
  fun myFunction() {
    println(x)
  }
}

// ساخت آبجکت و فراخوانی تابع
fun main() {
  val myObj = MyChildClass()
  myObj.myFunction()
}

مشاهده در ادیتور

چگونه وراثت را اعلام کنیم؟

اول، قبل از کلاس والد، کلمه open را می گذاریم. سپس، نام کلاس فرزند را می نویسیم، بعد دو نقطه :، و بعد نام کلاس والد را می آوریم.

نکته: کلاس بدون open قابل ارث بری نیست. این کار از اشتباه های ناخواسته جلوگیری می کند.

گام های عملی

  1. یک کلاس والد Person با ویژگی name بساز.
  2. کلاس فرزند Student از Person ارث ببرد.
  3. یک آبجکت بساز و نام را از والد چاپ کن.

برای توابع کلاس به توابع کلاس سر بزن. همچنین برای درک پایه، صفحه کلاس ها/آبجکت ها و برنامه نویسی شیءگرا را ببین. اگر نیاز داشتی دوباره مفهوم وراثت را مرور کن.

جمع بندی سریع

  • کلاس فرزند از والد ویژگی می گیرد.
  • open یعنی والد قابل ارث بری است.
  • دو نقطه : بین فرزند و والد می آید.
  • وراثت تکرار کد را کم می کند.