Sobes.tech
Middle

Programowanie obiektowe (OOP) to podejście do tworzenia programów, w którym kod jest organizowany w postaci obiektów Enkapsulacja Enkapsulacja to łączenie danych i metod, które z nimi pracują, w jednej klasie, a także ograniczanie bezpośredniego dostępu do wewnętrznego stanu obiektu. Prostymi słowami: obiekt sam zarządza swoimi danymi, a zewnętrzny kod wchodzi z nim w interakcję przez metody. Abstrakcja Abstrakcja to wyodrębnianie tylko ważnych cech obiektu i ukrywanie szczegółów jego implementacji. Prostymi słowami: użytkownik interesuje się tym, co robi obiekt, a nie jak dokładnie to robi. Polimorfizm Polimorfizm to możliwość obiektów z różną implementacją korzystania z tego samego interfejsu. W testach pomaga to pisać uniwersalny kod, który działa z różnymi typami danych lub klasami. Przykład w Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Hau!" 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) # Hau! animal_sound(cat) # Miau! W testach automatycznych, polimorfizm jest przydatny do: - Tworzenia uniwersalnych metod sprawdzania - Implementacji różnych strategii testowania przez jeden interfejs - Wsparcia różnych wersji API/UI bez zmiany testów Dziedziczenie Dziedziczenie to mechanizm, który pozwala nowej klasie automatycznie korzystać z istniejącej klasy, odziedziczając jej właściwości i metody. Prostymi słowami: nowa klasa ponownie używa kodu klasy rodzica i w razie potrzeby go rozszerza. Git 1. Systemy kontroli wersji. Lokalny, scentralizowany, rozproszony. 2. Podstawowe pojęcia. Repozytorium, indeks, commit, wskaźniki, gałąź, kopia robocza. 3. Praca z repozytorium. Polecenia: init, clone, status 4. Tworzenie commitu. Polecenia: add, commit. 5. Tworzenie, wyświetlanie, przełączanie między gałęziami, usuwanie. Polecenia: branch, checkout, log, diff. 6. Cofanie zmian. Polecenia: restore, rm, checkout, revert. 7. Scalanie zmian między gałęziami. Polecenia: merge, cherry-pick, rebase. 8. Praca z repozytorium zdalnym. Polecenia: fetch, pull, push. 9. Praca z GitHub, forki i Pull Requests.