În programarea orientată pe obiecte, o subclasă este o clasă care moștenește unele (sau toate) proprietățile sale din superclasa .
Pentru simplitate, vă puteți gândi la o subclasă ca la una dintre „variațiile” superclasei sale, cum ar fi „ Manx este o rasă de pisică” și „pătrat este un fel de dreptunghi”:
Din acest punct de vedere, o subclasă este o versiune mai rafinată a superclasei sale; adică sunt enumerate fapte despre pisici care afirmă că acestea sunt în general adevărate pentru toate pisicile, chiar dacă unele rase nu au coadă. Și toate dreptunghiurile au patru laturi, în timp ce pătratul are o interpretare mai restrânsă a acestor caracteristici: toate aceste patru laturi trebuie să aibă aceeași lungime.
Nu confundați relația subclasă-superclasă cu relația dintre clase și obiectele (instanțele) ale acesteia. „Instanța unei pisici” se referă la o anumită pisică . Pisica Manx din tabel continuă să fie o clasă, deoarece există multe pisici Manx diferite. Și dacă o anumită pisică (o instanță a unei clase de pisici) își pierde accidental coada într-o luptă cu o vulpe, atunci acest lucru nu schimbă clasa de pisici în sine. Va fi în continuare doar o anumită pisică care a suferit modificări.
Subclasele și superclasele sunt adesea denumite clase derivate sau derivate (derivate) și , respectiv, de bază (de bază), iar acești termeni sunt fixați de creatorul C++ - Bjorn Stroustrup , care a găsit acești termeni mai intuitivi decât nomenclatura tradițională a nume. [unu]
Pentru o explicație mai detaliată a conceptului de clase în programarea orientată pe obiecte , consultați articolul despre clase .