Sobes.tech
Middle

OPP (Objektorienteeritud programmeerimine) on lähenemisviis tarkvaraarendusele, kus kood organiseeritakse objektidena Inkapseulatsioon Inkapseulatsioon on andmete ja nende töötlemise meetodite ühendamine ühte klassi ning otsese juurdepääsu piiramine objekti sisemisele olekule. Lihtsamalt öeldes: objekt haldab ise oma andmeid ning väline kood suhtleb temaga meetodite kaudu. Abstraktsioon Abstraktsioon on ainult oluliste omaduste välja toomine ja üksikasjade varjamine. Lihtsamalt öeldes: kasutajale on oluline, mida objekt teeb, mitte kuidas ta seda teeb. Polümorfism Polümorfism on võimalus erineva realiseeringuga objektidel kasutada sama liidest. See aitab kirjutada universaalseid koode, mis töötavad erinevate andmetüüpide või klassidega. Näide Pythonis: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woof!" class Cat(Animal): def make_sound(self): return "Meow!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Woof! animal_sound(cat) # Meow! Automaattestides on polümorfism kasulik: - Üldiste kontrollimeetodite loomisel - Erinevate testimisstrateegiate rakendamisel ühe liidese kaudu - Erinevate API/UI versioonide toetamisel ilma testide muutmiseta Pärimine Pärimine on mehhanism, mis võimaldab uuel klassil kasutada olemasolevat, automaatselt omandades selle omadused ja meetodid. Lihtsamalt öeldes: uus klass taaskasutab vanema klassi koodi ning vajadusel laiendab seda. Git 1. Versioonikontrollisüsteemid. Kohaliku, tsentraliseeritud, hajutatud. 2. Põhiteadmised. Reposiit, indeks, commit, viitajad, haru, töökoopia. 3. Töö reposiidiga. Käskud: init, clone, status 4. Commiti loomine. Käskud: add, commit. 5. Harude loomine, vaatamine, vahetamine, kustutamine. Käskud: branch, checkout, log, diff. 6. Muudatuste tühistamine. Käskud: restore, rm, checkout, revert. 7. Muudatuste ühendamine. Käskud: merge, cherry-pick, rebase. 8. Töö kaugreposiidiga. Käskud: fetch, pull, push. 9. Töö GitHubiga, kopeerimine ja Pull Requests.