Menu
Coddy logo textTech

Zusammenfassung – Studentennote

Teil des Abschnitts Objektorientierte Programmierung der Lua-Journey von Coddy. Lektion 18 von 70.

challenge icon

Aufgabe

Einfach

Lass uns eine vollständige Student-Klasse erstellen, die alles zusammenführt, was du in diesem Kapitel gelernt hast: Instanzvariablen, Getter, Setter und berechnete Eigenschaften, die alle zusammenarbeiten!

Du wirst deinen Code auf zwei Dateien verteilen:

  • Student.lua: Definiere deine Student-Klasse mit dem standardmäßigen Prototyp-Muster. Jeder Student sollte einen name und eine grade speichern. Deine Klasse benötigt:
    • Einen :new(name, grade)-Konstruktor
    • Einen :getName()-Getter, der den Namen des Studenten zurückgibt
    • Einen :getGrade()-Getter, der die aktuelle Note zurückgibt
    • Einen :setGrade(newGrade)-Setter, der die Note aktualisiert
    • Eine :hasPassed(threshold)-Methode, die true zurückgibt, wenn die Note des Studenten größer oder gleich dem Schwellenwert ist, andernfalls false
  • main.lua: Binde dein Student-Modul ein und demonstriere alle Funktionen, indem du einen Studenten erstellst, seinen Status überprüfst, seine Note aktualisierst und die Änderungen bestätigst.

Du erhältst vier Eingaben:

  1. Name des Studenten
  2. Anfangsnote
  3. Zu überprüfender Bestehensgrenzwert
  4. Neue zu setzende Note

Erstelle in deiner Hauptdatei einen Studenten mit dem angegebenen Namen und der Anfangsnote und gib dann Folgendes in separaten Zeilen aus:

  1. Den Namen des Studenten
  2. Die Anfangsnote des Studenten
  3. Ob der Student den angegebenen Bestehensgrenzwert erreicht hat (gib true oder false aus)
  4. Die Note des Studenten nach der Aktualisierung mit der neuen Note
  5. Ob der Student nach der Notenaktualisierung denselben Bestehensgrenzwert erreicht hat

Wenn die Eingaben beispielsweise Emma, 55, 60 und 75 lauten, sollte die Ausgabe wie folgt aussehen:

Emma
55
false
75
true

Emma hatte anfangs eine Note von 55, womit sie den Bestehensgrenzwert von 60 nicht erreicht hat. Nach der Aktualisierung ihrer Note auf 75 besteht sie nun!

Probier es selbst

-- Student-Modul laden
local Student = require('Student')

-- Eingaben lesen
local name = io.read()
local initialGrade = tonumber(io.read())
local threshold = tonumber(io.read())
local newGrade = tonumber(io.read())

-- TODO: Erstelle einen Studenten mit dem gegebenen Namen und der Anfangsnote

-- TODO: Gib den Namen des Studenten mit dem Getter aus

-- TODO: Gib die Anfangsnote des Studenten mit dem Getter aus

-- TODO: Prüfe und gib aus, ob der Student mit dem gegebenen Schwellenwert bestanden hat

-- TODO: Aktualisiere die Note des Studenten mit dem Setter

-- TODO: Gib die neue Note des Studenten aus

-- TODO: Prüfe und gib aus, ob der Student nach der Notenaktualisierung bestanden hat

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Lua-Compiler