DEV Community

MC Cham
MC Cham

Posted on

Abstraction in Kotlin

ကျနော်ဒီနေ့ပြောပြပေးသွားမှာက abstraction အကြောင်းပါ။ သူကတော့ အခြား class တွေလိုမျိုး Model တခုအနေနဲ့အသုံးပြုလို့ရမှာ မဟုတ်ပါဘူး။
ဒါပေမယ့် သူ့ကို အခြားသော class တွေကနေ extends လုပ်ပြီးအသုံးပြုနိုင်မှာပါ။ example code ကိုကြည့်လိုက်ရအောင်။

Image description

Image description

အပေါ်က code မှာဆိုလို့ရှိရင် model တစ်ခုဆောက်တယ် ပီးတော့ main method ကနေ ခေါ် သုံးတယ် ဖြစ်တယ်။ toast message ပြပါလိမ့်မယ်။

Image description

Image description

အပေါ်က code မှာဆိုလို့ရှိရင် abstract class တစ်ခုဆောက်တယ်။ ပီးတော့ main method ကနေ လှမ်းခေါ် လိုက်ပါတယ်။ အပေါ် မှာ ပြောခဲ့သလိုဘဲ သူ့ကို အခြားသော class တွေကနေ extends လုပ်ပြီးအသုံးပြုနိုင်မှာပါ။

Image description

Image description

အပေါ်က code မှာဆိုလို့ရှိရင် abstract class ထဲမှာ abstract function ထည့်ရေးတာပါ။ abstraction function ဆိုတာက function ရှေ့မှာ abstract ထည့်လိုက်ရုံပါပဲ။ abstraction function မှာ body မရှိပါဘူး။

abstract fun internship(context: Context)
{
}

အဲလို body ထည့် လို့ မရပါဘူး။ နောတစ်ခုက သူချည်းဘဲ လည်း run လို့ မရပါဘူး။
ဘာလို့လဲဆိုတော့ internship() ဆိုတဲ့ abstraction function က သူ့ကိုပြန်ခေါ်သုံးတဲ့အခါ ဘာလုပ်ရမှန်း မသိလို့ပဲဖြစ်ပါတယ်။ အဲ့တာကြောင့် internship() function အတွက် implement လုပ်ရပါဦးမယ်။ ပြီးရင် တော့ main method ကနေ ခေါ် သုံးလို့ရပါပီ။

@chammya2022

Top comments (0)