Sobes.tech
Middle

Programarea Orientată pe Obiecte (POO) este o abordare pentru dezvoltarea de programe în care codul este organizat sub formă de obiecte Încapsulare Încapsularea este unirea datelor și a metodelor care lucrează cu aceste date în cadrul unei clase, precum și restricționarea accesului direct la starea internă a obiectului. Pe scurt: obiectul își gestionează propriile date, iar codul extern interacționează cu el prin metode. Abstracție Abstracția constă în evidențierea doar a caracteristicilor importante ale obiectului și ascunderea detaliilor implementării sale. Pe scurt: utilizatorul este interesat de ceea ce face obiectul, nu de modul în care o face. Polimorfism Polimorfismul este capacitatea obiectelor cu implementări diferite de a folosi aceeași interfață. În teste, acest lucru ajută la scrierea unui cod universal care funcționează cu diferite tipuri de date sau clase. Exemplu în Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Ham!" class Cat(Animal): def make_sound(self): return "Miau!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Ham! animal_sound(cat) # Miau! În testele automate, polimorfismul este util pentru: - Crearea de metode de verificare universale - Implementarea diferitelor strategii de testare printr-o singură interfață - Susținerea diferitelor versiuni API/UI fără a modifica testele Moștenire Moștenirea este un mecanism care permite unei noi clase să utilizeze automat o clasă existentă, moștenindu-i proprietățile și metodele. Pe scurt: noua clasă reutilizează codul clasei părinte și îl extinde dacă este necesar. Git 1. Sisteme de control al versiunilor. Local, centralizat, distribuit. 2. Noțiuni de bază. Repozitoriu, index, commit, pointeri, ramură, copie de lucru. 3. Lucrul cu repository-ul. Comenzi: init, clone, status 4. Crearea unui commit. Comenzi: add, commit. 5. Crearea, vizualizarea, schimbarea între ramuri, ștergerea. Comenzi: branch, checkout, log, diff. 6. Anularea modificărilor. Comenzi: restore, rm, checkout, revert. 7. Îmbinarea modificărilor între ramuri. Comenzi: merge, cherry-pick, rebase. 8. Lucrul cu repository-ul remote. Comenzi: fetch, pull, push. 9. Lucrul cu GitHub, fork-uri și Pull Requests.