Sobes.tech
Middle

La Programmation Orientée Objet (POO) est une approche du développement logiciel où le code est organisé sous forme d’objets Encapsulation L’encapsulation consiste à regrouper des données et des méthodes qui manipulent ces données au sein d’une même classe, ainsi qu’à limiter l’accès direct à l’état interne de l’objet. En termes simples : l’objet gère ses propres données, et le code externe interagit avec lui via des méthodes. Abstraction L’abstraction consiste à ne retenir que les caractéristiques importantes de l’objet et à cacher les détails de sa mise en œuvre. En termes simples : l’utilisateur se soucie de ce que fait l’objet, pas de comment il le fait. Polymorphisme Le polymorphisme est la capacité d’objets avec des implémentations différentes à utiliser une même interface. En test, cela permet d’écrire un code universel qui fonctionne avec différents types de données ou classes. Exemple en Python : class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Wouf!" class Cat(Animal): def make_sound(self): return "Miaou!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Wouf! animal_sound(cat) # Miaou! En tests automatisés, le polymorphisme est utile pour : - Créer des méthodes de vérification universelles - Implémenter différentes stratégies de test via une même interface - Maintenir différentes versions d’API/UI sans modifier les tests Héritage L’héritage est un mécanisme qui permet à une nouvelle classe d’utiliser automatiquement une classe existante, en héritant ses propriétés et méthodes. En termes simples : la nouvelle classe réutilise le code de la classe parente et l’étend si nécessaire. Git 1. Systèmes de contrôle de version. Local, centralisé, distribué. 2. Concepts clés. Dépôt, index, commit, pointeurs, branche, copie de travail. 3. Travailler avec un dépôt. Commandes : init, clone, status 4. Créer un commit. Commandes : add, commit. 5. Créer, voir, changer de branche, supprimer. Commandes : branch, checkout, log, diff. 6. Annuler des modifications. Commandes : restore, rm, checkout, revert. 7. Fusionner des changements entre branches. Commandes : merge, cherry-pick, rebase. 8. Travailler avec un dépôt distant. Commandes : fetch, pull, push. 9. Travailler avec GitHub, forks et Pull Requests.