Kotlin

Bridge To Kotlin Part 6 (Classes And Objects)

အရင်အပိုင်းတွေ လေ့လာချင်တယ်ဆိုရင်

Interfaces

Interface မှာတော့ အတော်များများက တစ်ခြား programming language တွေနဲ့ တူပါတယ်။ နည်းနည်းတော့ ရေးကြည့်ရအောင်

Interface တစ်ခုက interface တစ်ခု inherit လုပ်လို့ရပါတယ်။ class တစ်ခုဟာ interface တစ်ခုထက်ပိုပြီး implement လုပ်လို့ရပါတယ်။  Interface Overiding conflict ကိုလဲ ဖြေရှင်းပေးထားပါတယ်။  နမူနာလေး ရေးကြည့်ရအောင်

HumanInterface မှာရော CoderInterface မှာပါ eat() နဲ့ sleep() ဆိုတဲ့ method က ပါနေတဲ့အတွက် နှစ်ခုလုံးကို implement လုပ်တဲ့အခါ super<HumanInterface>, super<CoderInterface> ဆိုပြီး သုံးပေးဖို့ လိုပါတယ်။

Visibility Modifiers

ကျွန်တော် Visibility Modifier ဆိုတာနဲ့ ပတ်သက်ပြီး Kotlin မှာ Java နဲ့ မတူပဲ ထူးခြားလာတာလေးတွေ ရှိပါတယ်။ အဲဒီလို ထူးခြားသွားရခြင်း အကြောင်းက Kotlin မှာ ကျွန်တော်တို့ အနေနဲ့ Java လို class ဆောက်ပြီး ရေးမှ ရတာမျိုး မဟုတ်တော့ပဲ file အနေနဲ့လဲ ရေးလို့ရပါတယ်။ အဲဒါကို package level လို့ ခေါ်ပါတယ်။ package level file ထဲမှာ ရေးသမျှ properties, functions, class အားလုံးနဲ့ ပတ်သက်ပြီး အောက်ပါ အချက်တွေအတိုင်း visibility modifer တွေကို သတ်မှတ်ပါတယ်။

  • Visibility modifier တစ်ခုမှ မသတ်မှတ်ထားဘူးဆိုရင် အလိုအလျှောက် public ဖြစ်ပါတယ်။
  • Private လို့ သတ်မှတ်လိုက်ရင်တော့ file အတွင်းမှာပဲ သုံးလို့ရတော့မှာပါ။
  • Internal လို့ သတ်မှတ်လိုက်ရင်တော့ module တူအတွင်းမှာ ဘယ်နေရာက ဖြစ်ဖြစ် ခေါ်သုံးလို့ရပါမယ်။
  • Protected ကတော့ package level file အတွင်းမှာ သုံးလို့မရပါဘူး။

Visibility Modifiers in Classes and Interfaces

Classes and Interfaces မှာ အသုံးပြုတဲ့ Visibility Modifer တွေကတော့ တစ်ခြား programming language တွေနဲ့ အတူတူပဲ ဖြစ်တာကြောင့် အသေးစိတ်မပြောတော့ပါဘူး။

ဆက်ပါဦးမယ်