Beginners wordt al heel vroeg geleerd om klassen en object-georiënteerde programmeertechnieken te gebruiken. Maar er wordt nooit verteld waarom.
In plaats van ons te vertellen waarom, begint de uitleg altijd met het beschrijven van generieke objecten uit het echte leven – auto’s zijn een populair voorbeeld… en studenten beginnen te discussiëren over merken en modellen.
Maar WAAROM? Waar zijn klassen voor?
Het simpele antwoord,
Programmeurs gebruiken klassen wanneer ze meer dan één object nodig hebben.
Neem dit voorbeeld uit een populair spel, Candy Crush.
Zien jullie zeven blauwe snoepjes op het scherm? Een spelontwikkelaar zou een blauw snoepje niet zeven keer coderen. Je maakt één Blue Candy klasse en vermenigvuldigt die zeven keer.
Klassen zijn gewoon snoepfabrieken. Of autofabrieken. Of babyfabrieken. Of koalafabrieken. Je definieert het ding één keer, en laat je code er zoveel maken als je wilt!
OOP = Klassen gebruiken in je programmering
Een paar officiële definities waar we het eerst over moeten hebben.
Wat is een object?
In code combineren we een groep verwante variabelen en methoden (functies) tot een eenheid, we noemen die eenheid een object.
Wat zijn klassen?
Klassen zijn de blauwdrukken die het gedrag en de informatie definiëren die onze objecten zullen bevatten. Zij laten ons nieuwe instanties vervaardigen en instantiëren.
3. Wat is een instantie methode?
Een instantie methode is het gedrag van Objecten.
We weten dat klassen fungeren als een fabriek voor onze objecten, in staat om nieuwe instanties te instantiëren. Wat als we dit object willen vragen iets te doen?
Hierbij gebruiken we een voorbeeld om dit abstracte concept beter weer te geven:
Laten we zeggen dat we de Australische overheid helpen een app te bouwen om koala’s te adopteren. De koala’s krijgen allemaal een naam, leeftijd, gewicht, enz. Stel dat we 50 koala’s ter adoptie hebben, en we beschrijven ze elk met 5 kenmerken. Zonder OOP, zou het je 50×5 = 250 variabelen en complexe referencering kosten. Met OOP, kunnen we het eenvoudig beschrijven met minder code – één koala klasse x 50 instanties. Om het eenvoudig te houden, willen we niet steeds dezelfde code herhalen.
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
Dus door dit te doen, kunnen we zoveel koala’s maken als je wilt (roep gewoon de methode Koala.new op), en kunnen we ze allemaal laten zeggen “Bedankt dat je me hebt geholpen” .( roep gewoon de donatiemethode op voor de instantie koala)