Primarii sunt învățați foarte devreme să folosească clasele și tehnicile de programare orientate pe obiecte. Dar nu li se spune niciodată de ce.
În loc să ni se spună de ce, explicațiile încep întotdeauna să descrie obiecte generice din viața reală – mașinile sunt un exemplu popular… și elevii încep să discute despre mărci și modele.
Dar DE CE? La ce servesc clasele?
Răspunsul simplu,
Programatorii folosesc clase ori de câte ori au nevoie de mai mult de un obiect.
Tomăm acest exemplu dintr-un joc popular, Candy Crush.
Vezi șapte bomboane albastre pe ecran? Un dezvoltator de jocuri nu ar codifica o bomboană albastră de șapte ori. Tu creezi o clasă de bomboane albastre și o multiplici de șapte ori.
Classele sunt doar fabrici de bomboane. Sau fabrici de mașini. Sau fabrici de copii. Sau fabrici de koala. Definești chestia o singură dată și lași codul tău să creeze câte vrei!
OOP = Utilizarea claselor în programarea ta
Câteva definiții oficiale despre care trebuie să vorbim mai întâi.
Ce este un obiect?
În cod, combinăm un grup de variabile și metode (funcții) legate între ele într-o unitate, am numit acea unitate un obiect.
Ce sunt clasele?
Casele sunt planurile care definesc comportamentul și informațiile pe care le vor conține obiectele noastre. Ele ne permit să fabricăm și să instanțiem noi instanțe.
3. Ce este o metodă de instanță?
O metodă de instanță este comportamentul obiectelor.
Știm că clasele acționează ca o fabrică pentru obiectele noastre, capabilă să instanțieze noi instanțe. Ce se întâmplă dacă vrem să cerem acestui obiect să facă ceva?
Aici vom folosi un exemplu pentru a afișa mai bine acest concept abstract:
Să spunem că ajutăm guvernul australian să construiască o aplicație pentru a adopta koala. Toți koala vor avea un nume, vârstă, greutate, etc. Imaginați-vă că avem 50 de koala pentru adopție și că îi descriem pe fiecare cu 5 caracteristici. Fără OOP, ar fi nevoie de 50×5 = 250 de variabile și de referințe complexe. Cu OOP, le putem descrie ușor cu mai puțin cod – o clasă koala x 50 de instanțe. Pentru a păstra simplitatea, nu vrem să repetăm același cod la nesfârșit.
class Koala attr_accessor :name, :weight, :age @@all =
def initialize(name) @name = name @weight = weight @age = age Koala.all << self end
def self.all @@all end def donation
puts " Thank you for helping me! " endend
Așa că, făcând acest lucru, putem crea câți koala doriți (trebuie doar să apelăm metoda Koala.new) și putem face ca toți să spună „Mulțumesc că m-ați ajutat” .( trebuie doar să apelăm metoda donation pe koala instanță)
.