300 DE LEI Pachetul care îți asigură nota 10 la BAC, disciplina informatică! 📚 Conține toată materia de liceu ( C++ ), sute de probleme rezolvate ( PBinfo și modele BAC ) și subiectele din anii trecuți, rezolvate și explicate integral ( Pseudocod și C++ )! 🤩
Printre subiectele care apare atât în problemele de performanță, dar și la clasă sau la examene, sunt Clasele și programarea orientată pe obiecte. În tutorialul de astăzi vom parcurge bazele acestui nou capitol din programarea C++. Înainte de a începe trebuie să cunoaștem principiile de bază ale OOP. Acestea sunt 4 la număr, abstraction, inheritance, encapsulation și polymorphism, sau tradus, abstractizare, moștenire, încapsulare și polimorfism în aceeași ordine.
Primul dintre aceste principii, abstraction, este procesul prin care sunt afișate doar informațiile strict necesare, celelalte fiind ascunse. Următorul principiu este inheritance, sau moștenirea, procesul prin care un obiect primește proprietățile și refolosește funcțiile altuia. Al treilea dintre aceste principii este încapsularea, prin acest principiu înțelegem separarea datelor și metodele de exterior. Ultimul dar nu cel din urmă algoritm care definește programarea orientată pe obiecte este polimorfismul, mai exact vom putea crea mai multe copii ale unei clase anume pentru a folosi diverse date de intrare între acestea.
În paragraful anterior am folosit câțiva termeni de specialitate ai OOP. Obiecte, date membre, metode și clase. Acești termeni sunt foarte importanți, deoarece definesc principalele elemente și modele de lucru ale programării orientate pe obiecte. Obiectele sunt instanțe ale claselor, mai exact variabile de acest fel. Clasele sunt un tip de date special, asemănător structurilor, care are în interior atât date membre, cât și funcții sau metode. Acestea la un loc se numesc câmpuri și pot fi de 3 tipuri, publice, private sau protejate. Cele 3 tipuri sunt date de specificatorii de acces ai limbajului, public, care permite accesul la câmpuri din exteriorul clasei, private, nu permit accesarea datelor și metodelor din afară și protected, permit accesul doar din clasele derivate.
Putem începe cu declararea claselor. Fiecare clasă se declară după o structură generală, class NumeClasă { ... }, apoi, între acolade vom aveam specificatorul de acces, iar la urmă câmpurile efective, SpecificatorAcces: TipDată NumeCâmp. Putem reprezenta într-o clasă cartea de indentitate a unei persoane, unde informațiile persoanei sunt private. Mai jos poți vedea implementarea în limbaj a obiectului.
Următorul pas la clase este accesarea datelor. Aceasta nu se face la fel ca la restul tipurilor de date, fiind nevoie să definim metode pentru inserare, modificare, ștergere și afișare a datelor dintr-o clasă. Funcțiile de acest fel se numesc GET-eri și SET-eri, care, după cum spun și numele, preiau și setează date într-un obiect. Acestea vor fi publice și le vom putea accesa din întreg programul. Mai jos poți vedea cum am setat și afișat date pentru clasa definită anterior.
În încheierea acestui tutorial voi atașa mai jos întreaga implementare a clasei într-un program C++, până la următorul articol recomand rezolvarea capitolului de probleme pentru clase C++ de pe HackerRank.
Fondatorul platformei - mentor Academia
Plată securizată și procesată de terminalul online: