Menu
Coddy logo textTech

Configuration du projet

Fait partie de la section Programmation orientée objet du Journey Lua de Coddy. Leçon 55 sur 70.

challenge icon

Défi

Facile

Construisons les fondations d’un système de gestion des formes ! Ce projet s’agrandira au fil des prochaines leçons, alors nous commencerons par mettre en place une structure de fichiers claire avec une classe de base Shape.

Vous créerez deux fichiers pour organiser votre code :

  • Shape.lua : définissez une classe de base Shape à l’aide du 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, ainsi qu’une méthode :getName() qui le renvoie.
  • main.lua : donnez vie à votre classe Shape en important le module et en créant une instance de forme. Lisez un nom de forme depuis l’entrée, créez une instance de Shape avec ce nom, puis affichez le résultat de l’appel à :getName().

Cette classe de base servira de classe parente pour des formes spécifiques comme Rectangle et Circle dans les prochaines leçons. Pour le moment, concentrez-vous sur la bonne structure de la classe : la configuration de __index, le modèle de constructeur et la méthode d’accès.

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

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

Essayez vous-même

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

-- Lit 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 à :getName() sur votre forme

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur Lua en ligne