Zusammenfassung – Beweglicher Punkt
Teil des Abschnitts Object Oriented Programming der Lua-Journey von Coddy — Lektion 5 von 70.
Aufgabe
EinfachErstellen Sie eine Tabelle namens point mit zwei Feldern:
x- die x-Koordinatey- die y-Koordinate
Fügen Sie eine Methode :move(dx, dy) unter Verwendung der Doppelpunkt-Syntax hinzu, die dx zu self.x und dy zu self.y addiert.
Sie erhalten vier Eingabewerte:
- Ursprüngliche x-Koordinate
- Ursprüngliche y-Koordinate
- Delta x (Betrag der horizontalen Verschiebung)
- Delta y (Betrag der vertikalen Verschiebung)
Nachdem Sie den Punkt mit den ursprünglichen Koordinaten erstellt und :move() mit den Delta-Werten aufgerufen haben, geben Sie die endgültige Position in genau diesem Format aus:
[x], [y]Wenn die ursprüngliche Position zum Beispiel (3, 5) ist und Sie sich um (2, -1) bewegen, sollte die Ausgabe wie folgt aussehen:
5, 4Probier es selbst
-- Eingaben lesen
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())
-- TODO: Schreibe deinen Code unten
-- 1. Erstelle eine Tabelle namens 'point' mit den Feldern x und y (unter Verwendung der Anfangskoordinaten)
-- 2. Füge eine :move(dx, dy) Methode unter Verwendung der Doppelpunkt-Syntax hinzu, die self.x und self.y modifiziert
-- Rufe die move-Methode auf und gib das Ergebnis aus
point:move(dx, dy)
print(point.x .. ", " .. point.y)Alle Lektionen in Object Oriented Programming
1Das 'self'-Konzept
Tabellen mit FunktionenExplizites 'self'Die Doppelpunkt-SyntaxPunkt vs. DoppelpunktZusammenfassung – Beweglicher Punkt4Projekt: Digitale Bank
Projekt-SetupEinzahlungsmethode7Polymorphie & Überschreiben
Methoden überschreibenElternmethoden aufrufenDuck TypingGemeinsames InterfaceTyp prüfenRückblick - Mitarbeiterrollen10Projekt: Formen-Manager
Projekt-SetupRechteck-Klasse2Klassen-Prototyp-Muster
Das Prototyp-KonzeptVerknüpfung mit __indexDer :new()-KonstruktorAttribute initialisierenUnabhängige InstanzenZusammenfassung – Autofabrik5Operatorüberladung in OOP
Objekte addierenObjekte subtrahierenObjekte verkettenObjekte vergleichen (<, >)Rückblick – Wallet-Mathematik3Objektzustand und -verhalten
InstanzvariablenGetter-MethodenSetter-MethodenBerechnete EigenschaftenStrings formatierenGleichheitsprüfungenZusammenfassung – Studentennote6Grundlagen der Vererbung
Das Vererbungs-SetupMethoden vererbenDen Konstruktor erweiternChild-Methoden hinzufügenGemeinsam vs. EinzigartigZusammenfassung - Formen-Hierarchie9Komposition & Mixins
Has-A-BeziehungDelegationEinfache MixinsAnwendung mehrerer MixinsMixins vs. VererbungZusammenfassung – Roboter-Montage12Abschluss-Herausforderungen
Wiederholung - InventarsystemWiederholung - BenutzerverwaltungWiederholung - Score-TrackerFinaler OOP-Check