Menu
Coddy logo textTech

Configuration du projet

Fait partie de la section Object Oriented Programming du Journey Lua de Coddy — leçon 19 sur 70.

challenge icon

Défi

Facile

Construisons les bases d'un système de gestion de formes ! Ce projet évoluera au cours des prochaines leçons, nous allons donc commencer par mettre en place une structure de fichiers propre avec une classe de base Shape.

Vous allez créer deux fichiers pour organiser votre code :

  • Shape.lua : Définissez une classe de base Shape en utilisant le modèle de prototype. Chaque forme possède un attribut name (comme "Circle" ou "Rectangle"). Incluez un constructeur :new(name) qui accepte le nom de la forme, et une méthode :getName() qui le retourne.
  • main.lua : Donnez vie à votre classe Shape en important le module et en créant une instance de forme. Lisez un nom de forme à partir de l'entrée, créez une Shape avec ce nom, et affichez le résultat de l'appel à :getName().

Cette classe de base servira de parent pour des formes spécifiques comme Rectangle et Circle dans les prochaines leçons. Pour l'instant, concentrez-vous sur la structure correcte de la classe — la configuration de __index, le modèle de constructeur et la méthode getter.

Entrée : Une seule ligne contenant le nom de la forme (une chaîne de caractères).

Sortie : Le nom de la forme retourné par :getName().

Essayez vous-même

-- Inclure le module Shape
local Shape = require('Shape')

-- Lire le nom de la forme depuis l'entrée
local shapeName = io.read()

-- TODO: Créer une nouvelle instance de Shape avec le nom donné

-- TODO: Afficher le résultat de l'appel de :getName() sur votre forme

Toutes les leçons de Object Oriented Programming