Menu
Coddy logo textTech

Konfiguracja projektu

Część sekcji Programowanie obiektowe ścieżki Lua w Coddy. Lekcja 19 z 70.

challenge icon

Wyzwanie

Łatwy

Rozpoczynamy projekt Digital Bank. W kolejnych lekcjach zbudujesz klasę Account, która może przyjmować wpłaty, obsługiwać wypłaty, wypisywać swoje dane i przelewać pieniądze na inne konta. Wszystko zaczyna się od uporządkowanej struktury plików i konstruktora.

Twoje dwa pliki:

  • Account.lua: zdefiniuj tabelę Account, ustaw Account.__index = Account, aby instancje mogły odnajdywać swoje metody, i napisz konstruktor :new(). Tworzy on pustą tabelę, ustawia jej metatabelę na Account, przypisuje jej balance wartość 0 i zwraca ją. Plik kończy się instrukcją return Account.
  • main.lua: załaduj moduł za pomocą require('Account'), utwórz dwa konta za pomocą Account:new(), wypisz saldo każdego z nich w osobnym wierszu, a następnie wypisz savings == checking, aby pokazać, że dwa wywołania utworzyły dwie różne tabele.

Oczekiwany wynik:

0
0
false

Każde konto zaczyna z zerowym saldem. W następnej lekcji dodasz metodę :deposit(amount), która zwiększa saldo.

Spróbuj swoich sił

-- TODO: załaduj moduł Account za pomocą require (plik to Account.lua)
local Account = nil

-- TODO: utwórz dwa konta za pomocą Account:new()

-- TODO: wypisz saldo każdego konta (każde w osobnym wierszu)

-- TODO: wypisz, czy oba konta są tą samą tabelą (nie powinny nią być)

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Lua online