Riepilogo - Spostare il punto
Fa parte della sezione Programmazione orientata agli oggetti del percorso Lua di Coddy. Lezione 5 di 70.
Sfida
FacileCrea una tabella chiamata point con due campi:
x- la coordinata xy- la coordinata y
Aggiungi un metodo :move(dx, dy) usando la sintassi con i due punti che aggiunge dx a self.x e dy a self.y.
Riceverai quattro valori in input:
- Coordinata x iniziale
- Coordinata y iniziale
- Delta x (quantità di spostamento orizzontale)
- Delta y (quantità di spostamento verticale)
Dopo aver creato il punto con le coordinate iniziali e aver chiamato :move() con i valori delta, stampa la posizione finale in questo formato esatto:
[x], [y]Ad esempio, se la posizione iniziale è (3, 5) e ti sposti di (2, -1), l'output dovrebbe essere:
5, 4Provalo tu
-- Leggi gli input
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())
-- TODO: Scrivi il tuo codice qui sotto
-- 1. Crea una tabella chiamata 'point' con i campi x e y (usando le coordinate iniziali)
-- 2. Aggiungi un metodo :move(dx, dy) usando la sintassi con i due punti, che modifica self.x e self.y
-- Chiama il metodo move e stampa il risultato
point:move(dx, dy)
print(point.x .. ", " .. point.y)Tutte le lezioni di Programmazione orientata agli oggetti
1Il concetto di «self»
Tabelle con funzioni«self» esplicitoLa sintassi dei due puntiPunto o due puntiRiepilogo - Spostare il punto4Progetto: Banca digitale
Configurazione del progettoMetodo di deposito2Schema del prototipo di classe
Il concetto di prototipoCollegare con __indexIl costruttore :new()Inizializzare gli attributiIstanze indipendentiRiepilogo - Fabbrica di auto5Sovraccarico degli operatori nella OOP
Sommare oggettiSottrarre oggettiConcatenare oggettiConfrontare oggetti (<, >)Ripasso - Calcoli con il portafoglio8Incapsulamento
Convenzioni di denominazioneClosure per la privacyAccesso tramite closureTabelle di sola letturaLogica di convalidaRiepilogo - Cassaforte sicura11Modelli di progettazione (base)
Funzioni factoryTabella singletonPattern IteratorObserver (listener)Riepilogo - Factory per logger3Stato e comportamento degli oggetti
Variabili di istanzaMetodi getterMetodi setterProprietà calcolateFormattazione delle stringheControlli di uguaglianzaRiepilogo - Voto dello studente6Fondamenti dell'ereditarietà
Configurare l'ereditarietàEreditare i metodiEstendere il costruttoreAggiungere metodi alla classe figliaCondiviso vs specificoRiepilogo - Gerarchia delle formeEsercitati da solo: Compilatore Lua online