TypeScript တွင် OOP အက်စထရက်အမ်ဖမ်းကြေး
ကျွန်ုပ်တို့တွင် ယေဘုယျ ဂုဏ်သတ္တိများနှင့် နည်းလမ်းများ ပါဝင်သည့် မိဘကလပ်စ် တစ်ခု ရှိပြီး ၎င်းမှ ဆင်းသက်လာသည့် ကလပ်စ်များ ရှိနိုင်သည့် အခြေအနေများ ရှိပါသည်။
ဤသို့ဖြင့် ဆင်းသက်လာသည့် ကလပ်စ်များမှ အော့ဘဂျက်များကို ဖန်တီးနိုင်သော်လည်း မိဘကလပ်စ်၏ အော့ဘဂျက်များကိုမူ မဖန်တီးနိုင်ပါ။ ၎င်းသည် ယေဘုယျ ဂုဏ်သတ္တိများနှင့် နည်းလမ်းများကို အစုအဖွဲ့လိုက် စုစည်းရန် လိုအပ်ပါသည်။
ဤအခြေအနေတွင်၊ မိဘကလပ်စ်၏ အော့ဘဂျက်များ ဖန်တီးခြင်းကို ရပ်တန့်ရန် အတိအလင်း၊ ၎င်းကို အက်စထရက် အဖြစ် ကြေညာနိုင်ပါသည်။ ၎င်းကို abstract သော့ချက်စကားလုံးဖြင့် ပြုလုပ်ပါသည်။
ဥပမာတစ်ခုဖြင့် ကြည့်ရအောင်။ ကျွန်ုပ်တို့၏ User ကလပ်စ်ကို ယူကာ ၎င်းကို အက်စထရက်အဖြစ် ကြေညာပါမည်။
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
User မှ ဆက်ခံသည့် Student ကလပ်စ်ကို ပြုလုပ်ပါမည်။
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
User မှ ဆက်ခံသည့် Employee ကလပ်စ်ကို ပြုလုပ်ပါမည်။
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
�ျီဩမေတြီ ပုံစံတစ်ခုကို ကိုယ်စားပြုသည့် အက်စထရက်ကလပ်စ် Figure ကို ဖန်တီးပါ။ ၎င်းတွင် ပတ်လည်အနားနှင့် ဧရိယာအတွက် ဂုဏ်သတ္တိများ ပါဝင်ပါစေ။
Figure ကလပ်စ်မှ ဆက်ခံသည့် Square ကလပ်စ်ကို ပြုလုပ်ပါ။
Figure ကလပ်စ်မှ ဆက်ခံသည့် Rectangle ကလပ်စ်ကို ပြုလုပ်ပါ။