ในการเขียนโปรแกรมเชิงวัตถุ เราสามารถสืบทอดคุณสมบัติของคลาสพาเรนต์ คลาสพาเรนต์เรียกว่าคลาสฐานในขณะที่คลาสย่อยเรียกว่าคลาสที่ได้รับ คลาสที่ได้รับสามารถสืบทอดข้อมูลสมาชิก ฟังก์ชันสมาชิกของคลาสพื้นฐานได้
ถ้าสมาชิกข้อมูลเป็นแบบสาธารณะ พวกเขาสามารถเข้าถึงได้โดยคลาสที่ได้รับ คลาสเดียวกัน และภายนอกคลาส หากสมาชิกข้อมูลได้รับการปกป้อง สามารถเข้าถึงได้โดยคลาสที่ได้รับและคลาสเดียวกันเท่านั้น แต่ไม่สามารถเข้าถึงได้นอกคลาส หากสมาชิกข้อมูลเป็นแบบส่วนตัว จะมีเพียงชั้นเรียนเดียวกันเท่านั้นที่เข้าถึงได้
นี่คือตัวอย่างการสืบทอดในภาษา C++
ตัวอย่าง
#include <bits/stdc++.h>
using namespace std;
class Base {
public: int a;
protected: int b;
private: int c;
};
class Derived : public Base {
public: int x;
};
int main() {
Derived d;
d.a = 10;
d.x = 20;
cout << "Derived class data member vale : " << d.x << endl;
cout << "Base class data member value : " << d.a << endl;
return 0;
} ผลลัพธ์
Derived class data member vale : 20 Base class data member value : 10
ในโปรแกรมข้างต้น คลาสที่ได้รับจะสืบทอดคลาสฐานและสมาชิกของข้อมูล วัตถุคลาสที่ได้รับ d ถูกสร้างขึ้นและใช้เพื่อเรียกสมาชิกของฐานข้อมูลและคลาสที่ได้รับ a และ x แต่ไม่สามารถเข้าถึงตัวแปร b และ c ของคลาสพื้นฐานได้เนื่องจากได้รับการป้องกันและเป็นส่วนตัว มันจะแสดงข้อผิดพลาดหากเราจะพยายามเข้าถึง
Derived d; d.a = 10; d.x = 20;