ในการเขียนโปรแกรมเชิงวัตถุ เราสามารถสืบทอดคุณสมบัติของคลาสพาเรนต์ คลาสพาเรนต์เรียกว่าคลาสฐานในขณะที่คลาสย่อยเรียกว่าคลาสที่ได้รับ คลาสที่ได้รับสามารถสืบทอดข้อมูลสมาชิก ฟังก์ชันสมาชิกของคลาสพื้นฐานได้
ถ้าสมาชิกข้อมูลเป็นแบบสาธารณะ พวกเขาสามารถเข้าถึงได้โดยคลาสที่ได้รับ คลาสเดียวกัน และภายนอกคลาส หากสมาชิกข้อมูลได้รับการปกป้อง สามารถเข้าถึงได้โดยคลาสที่ได้รับและคลาสเดียวกันเท่านั้น แต่ไม่สามารถเข้าถึงได้นอกคลาส หากสมาชิกข้อมูลเป็นแบบส่วนตัว จะมีเพียงชั้นเรียนเดียวกันเท่านั้นที่เข้าถึงได้
นี่คือตัวอย่างการสืบทอดในภาษา 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;