Sobes.tech
Middle

Objectgeoriënteerd programmeren (OOP) is een aanpak voor het ontwikkelen van software waarbij de code wordt georganiseerd in de vorm van objecten Encapsulatie Encapsulatie is het samenvoegen van gegevens en methoden die met deze gegevens werken binnen één klasse, evenals het beperken van directe toegang tot de interne toestand van het object. In eenvoudige woorden: het object beheert zijn eigen gegevens, en externe code interacteert ermee via methoden. Abstractie Abstractie is het selecteren van alleen de belangrijke kenmerken van het object en het verbergen van de details van de implementatie. In eenvoudige woorden: de gebruiker geeft om wat het object doet, niet hoe het dat precies doet. Polymorfisme Polymorfisme is de mogelijkheid voor objecten met verschillende implementaties om dezelfde interface te gebruiken. In testen helpt dit om universele code te schrijven die werkt met verschillende datatypes of klassen. Voorbeeld in Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woef!" class Cat(Animal): def make_sound(self): return "Miauw!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Woef! animal_sound(cat) # Miauw! In geautomatiseerde tests is polymorfisme nuttig voor: - Het creëren van universele verificatiemethoden - Het implementeren van verschillende teststrategieën via één interface - Het ondersteunen van verschillende API/UI-versies zonder de tests te wijzigen Erfelijkheid Erfelijkheid is een mechanisme dat het mogelijk maakt dat een nieuwe klasse automatisch een bestaande klasse gebruikt, door deze eigenschappen en methoden te erven. In eenvoudige woorden: de nieuwe klasse hergebruikt de code van de ouderklasse en breidt deze indien nodig uit. Git 1. Versiebeheersystemen. Lokaal, gecentraliseerd, gedistribueerd. 2. Basisconcepten. Repository, index, commit, pointers, branch, werkkopie. 3. Werken met een repository. Commando’s: init, clone, status 4. Een commit maken. Commando’s: add, commit. 5. Een branch maken, bekijken, wisselen, verwijderen. Commando’s: branch, checkout, log, diff. 6. Wijzigingen ongedaan maken. Commando’s: restore, rm, checkout, revert. 7. Wijzigingen samenvoegen tussen branches. Commando’s: merge, cherry-pick, rebase. 8. Werken met een remote repository. Commando’s: fetch, pull, push. 9. Werken met GitHub, forks en Pull Requests.