definirea încapsulării, moștenirii și polimorfismului

design orientat obiect în C++ cu Kristoffer Hebert

ce sunt încapsularea, moștenirea și polimorfismul?

încapsulare
o clasă în proiectarea orientată pe obiecte este un container pentru date și metode. Clasele utilizează încapsularea pentru a gestiona accesul la atribute, cum ar fi metodele și datele, conținute în sine. În limbajul C++, încapsularea în clase se realizează cu atribute precum: public, privat, protejat și static. Atributele clasei publice sunt accesibile peste tot. Atributele clasei Private sunt accesibile numai metodelor clasei în sine. Atributele protejate sunt accesibile pentru sine și clase de copii de la sine. Atributele statice sunt disponibile numai pentru clasa părinte, dar nu și pentru obiectul construit de clasă.

moștenire
moștenire în design orientat obiect descrie relația dintre clasele părinte atunci când extind clasele copil. Extend înseamnă că o clasă suprascrie atributele sau moștenește atributele unei alte clase. În exemplul de cod furnizat puteți vedea că clasa copil moștenește fiecare atribut al clasei părinte. Clasa copil înlocuiește valoarea firstName în apelul constructor. Acesta este modul în care obțineți numele, Tom Sawyer și Suzy Sawyer.

exemplu de cod de moștenire a clasei

polimorfismul
polimorfismul descrie relația de clasă unu la mulți în proiectarea orientată pe obiecte. O clasă părinte poate avea mai multe clase copil care moștenesc și suprascrie proprietăți. Clasa de transport are două clase care se extind, avion și barcă cu pânze, imperative este atribute protejate și metoda showDetails.

cheile de reținut

clasele sunt containere care au atribute, numite date și metodă. Clasele utilizează încapsularea pentru a gestiona accesul la aceste atribute. În C++, atributele clasei pot fi gestionate prin modificatori de atribute de clasă privați, statici, publici, protejați. Clasele moștenesc atributele claselor pe care le extind. În plus, clasele pot suprascrie atributele claselor pe care le extind. Clasele părinte pot avea mai multe clase de copii.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

More: