Sobes.tech
Middle

Objektno-orijentisano programiranje (OOP) je pristup razvoju softvera u kojem je kod organizovan u obliku objekata Enkapsulacija Enkapsulacija je spajanje podataka i metoda koji rade s tim podacima unutar jedne klase, kao i ograničavanje direktnog pristupa unutrašnjem stanju objekta. Jednostavno rečeno: objekat upravlja sopstvenim podacima, a spoljni kod komunicira s njim putem metoda. Apstrakcija Apstrakcija je izdvajanje samo važnih karakteristika objekta i skrivanje detalja njegove implementacije. Jednostavno rečeno: korisnik je zainteresovan za to šta objekat radi, a ne kako tačno to radi. Polimorfizam Polimorfizam je mogućnost objekata sa različitom implementacijom da koriste isti interfejs. U testiranju, to pomaže da se piše univerzalni kod koji radi sa različitim tipovima podataka ili klasa. Primer u Pythonu: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Vau!" class Cat(Animal): def make_sound(self): return "Mijau!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Vau! animal_sound(cat) # Mijau! U automatizovanim testovima, polimorfizam je koristan za: - Kreiranje univerzalnih metoda za proveru - Implementaciju različitih strategija testiranja putem jednog interfejsa - Podršku različitih verzija API/UI bez menjanja testova Nasleđivanje Nasleđivanje je mehanizam koji omogućava novoj klasi da automatski koristi postojeću klasu, nasledjujući njena svojstva i metode. Jednostavno rečeno: nova klasa ponovo koristi kod roditeljske klase i je proširuje po potrebi.