درس 6 - Inheritance یا ارث بری در کاتلین
ارث بری در زبان کاتلین

آموزش ارث بری در زبان کاتلین با استفاده از inheritance

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

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

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

هر چیزی در کاتلین بصورت پیشفرض از نوع final است ، از این رو ما نیاز داریم که برای بحث ارث بری در زبان کاتلین جلوی کلاس عبات open را بنویسیم تا به آن اجازه ی inherit یا ارث بری را بدهیم. 

ارث بری در زبان برنامه نویسی کاتلین

به مثالی که در پایین آورده ایم جهت درک بحث ارث بری در کاتلین نگاه کنید.

import java.util.Arrays

open class ABC {
   fun think () {
      print("Hey!! i am thiking ")
   }
}
class BCD: ABC(){ // inheritence happend using default constructor 
}

fun main(args: Array<String>) {
   var  a = BCD()
   a.think()
}

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

Hey!! i am thiking 

حالا به نظر شما اگر متود think را در مثال بالا را درون کلاس فرزند بازنویسی کنیم چه اتفاقی رخ خواهد داد؟

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

به مثال زیر دقت کنید.

import java.util.Arrays

open class ABC {
   open fun think () {
      print("Hey!! i am thinking ")
   }
}
class BCD: ABC() { // inheritance happens using default constructor 
   override fun think() {
      print("I Am from Child")
   }
}
fun main(args: Array<String>) {
   var  a = BCD()
   a.think()
}

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

I Am from Child 

در زبان کاتلین نیز همانند زبان جاوا ارث بری چندگانه میسر نیست.

 

اتمام درس