Anfängern wird sehr früh beigebracht, Klassen und objektorientierte Programmiertechniken zu verwenden. Aber man sagt ihnen nie, warum.
Anstatt uns zu sagen, warum, beginnen die Erklärungen immer mit der Beschreibung von allgemeinen Objekten aus dem wirklichen Leben – Autos sind ein beliebtes Beispiel… und die Schüler beginnen, über Marken und Modelle zu diskutieren.
Aber WARUM? Wofür sind Klassen da?
Die einfache Antwort,
Programmierer verwenden Klassen immer dann, wenn sie mehr als ein Objekt benötigen.
Nehmen wir dieses Beispiel aus einem beliebten Spiel, Candy Crush.
Sie sehen sieben blaue Bonbons auf dem Bildschirm? Ein Spieleentwickler würde ein blaues Bonbon nicht siebenmal codieren. Du erstellst eine blaue Bonbonklasse und multiplizierst sie siebenmal.
Klassen sind nur Bonbonfabriken. Oder Autofabriken. Oder Babyfabriken. Oder Koala-Fabriken. Du definierst das Ding einmal und lässt deinen Code so viele erstellen, wie du willst!
OOP = Verwendung von Klassen in deiner Programmierung
Ein paar offizielle Definitionen müssen wir zuerst besprechen.
Was ist ein Objekt?
Wenn wir im Code eine Gruppe zusammengehöriger Variablen und Methoden (Funktionen) zu einer Einheit zusammenfassen, nennen wir diese Einheit ein Objekt.
Was sind Klassen?
Klassen sind die Entwürfe, die das Verhalten und die Informationen definieren, die unsere Objekte enthalten werden. Sie ermöglichen es uns, neue Instanzen herzustellen und zu instanziieren.
3. Was ist eine Instanzmethode?
Eine Instanzmethode ist das Verhalten von Objekten.
Wir wissen, dass Klassen als eine Fabrik für unsere Objekte fungieren, die in der Lage ist, neue Instanzen zu instanziieren. Was aber, wenn wir dieses Objekt bitten wollen, etwas zu tun?
Hier werden wir ein Beispiel verwenden, um dieses abstrakte Konzept besser zu veranschaulichen:
Angenommen, wir helfen der australischen Regierung, eine App zur Adoption von Koalas zu entwickeln. Alle Koalas haben einen Namen, ein Alter, ein Gewicht, usw. Stellen Sie sich vor, wir haben 50 Koalas zur Adoption, und wir beschreiben jeden mit 5 Merkmalen. Ohne OOP bräuchte man dafür 50×5 = 250 Variablen und komplexe Verweise. Mit OOP können wir sie mit weniger Code beschreiben – eine Koala-Klasse x 50 Instanzen. Um es einfach zu halten, wollen wir nicht immer wieder den gleichen Code wiederholen.
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
Auf diese Weise können wir also so viele Koalas erstellen, wie wir wollen (rufen Sie einfach die Methode Koala.new auf), und können sie alle dazu bringen, „Danke, dass Sie mir geholfen haben“ zu sagen (rufen Sie einfach die Spendenmethode für die Instanz Koala auf)