Récapitulatif - Point mobile
Fait partie de la section Object Oriented Programming du Journey Lua de Coddy — leçon 5 sur 70.
Défi
FacileCréez une table nommée point avec deux champs :
x- la coordonnée xy- la coordonnée y
Ajoutez une méthode :move(dx, dy) en utilisant la syntaxe avec deux-points qui ajoute dx à self.x et dy à self.y.
Vous recevrez quatre entrées :
- Coordonnée x initiale
- Coordonnée y initiale
- Delta x (quantité à déplacer horizontalement)
- Delta y (quantité à déplacer verticalement)
Après avoir créé le point avec les coordonnées initiales et appelé :move() avec les valeurs delta, affichez la position finale dans ce format exact :
[x], [y]Par exemple, si la position initiale est (3, 5) et que vous déplacez de (2, -1), la sortie devrait être :
5, 4Essayez vous-même
-- Lire les entrées
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())
-- À FAIRE : Écrivez votre code ci-dessous
-- 1. Créer une table nommée 'point' avec les champs x et y (en utilisant les coordonnées initiales)
-- 2. Ajouter une méthode :move(dx, dy) en utilisant la syntaxe avec deux-points qui modifie self.x et self.y
-- Appeler la méthode move et afficher le résultat
point:move(dx, dy)
print(point.x .. ", " .. point.y)Toutes les leçons de Object Oriented Programming
1Le concept de « self »
Tables avec fonctions« self » expliciteLa syntaxe avec deux-pointsPoint vs deux-pointsRécapitulatif - Point mobile4Projet : Banque numérique
Configuration du projetMéthode de dépôt7Polymorphisme et Redéfinition
Redéfinition de méthodesAppeler des méthodes parentesDuck TypingInterface communeVérification du typeRécapitulatif - Rôles des employés10Projet : Gestionnaire de formes
Configuration du projetClasse Rectangle2Modèle de prototype de classe
Le concept de prototypeLiaison avec __indexLe constructeur :new()Initialisation des attributsInstances indépendantesRécapitulatif - Usine de voitures5Surcharge d'opérateurs en POO
Additionner des objetsSoustraire des objetsConcaténer des objetsComparer des objets (<, >)Récapitulatif - Calculs de portefeuille8Encapsulation
Conventions de nommageClosures pour la confidentialitéAccès via les ClosuresTables en lecture seuleLogique de validationRécapitulatif - Coffre-fort sécurisé11Patrons de conception (Lite)
Fonctions FactoryTable SingletonPatron IteratorObserver (Écouteur)Récapitulatif - Logger Factory3État et comportement des objets
Variables d'instanceMéthodes GetterMéthodes SetterPropriétés calculéesFormatage de chaînesVérifications d'égalitéRécapitulatif - Note de l'étudiant6Bases de l'héritage
Mise en place de l'héritageHériter des méthodesÉtendre le constructeurAjouter des méthodes enfantsPartagé vs UniqueRécapitulatif - Hiérarchie des formes