Inheritance က class တစ်ခုက အခြား class တစ်ခုရဲ့ properties နဲ့ methods တွေကို အမွေဆက်ခံနိုင်တဲ့ feature ပါ။ Common behavior ကို base class ထဲရေးပြီး specific class တွေမှာ ထပ်တိုးနိုင်တာကြောင့် code duplication လျော့စေပါတယ်။
cpp
#include <iostream>
#include <string>
using namespace std;
class User {
public:
string name;
void login() {
cout << name << " logged in." << endl;
}
};
class Admin : public User {
public:
void deletePost() {
cout << name << " deleted a post.";
}
};
int main() {
Admin admin;
admin.name = "Thuta Admin";
admin.login();
admin.deletePost();
return 0;
}Admin : public User ဆိုတာ Admin class က User class ကို public inheritance နဲ့ အမွေဆက်ခံထားတာပါ။ ဒါကြောင့် Admin object က name နဲ့ login() ကို သုံးနိုင်ပြီး deletePost() ကို ထပ်တိုးထားပါတယ်။
You should see
Thuta Admin logged in. Thuta Admin deleted a post.Info
Inheritance ကို “is-a” relationship ရှိတဲ့အခါ သုံးပါ။ Admin is a User ဆိုရင်သင့်တော်ပါတယ်။ Car has an Engine ဆိုရင် inheritance ထက် composition ပိုသင့်တော်နိုင်ပါတယ်။