Klasa BankAccount
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 21 z 56.
Wyzwanie
W tym projekcie utworzymy od podstaw klasę BankAccount, aby zarządzać kontem bankowym klienta.
Twoim pierwszym zadaniem jest utworzenie klasy o nazwie BankAccount, która ma:
- Konstruktor, który przyjmuje dwa parametry:
accountHolder(ciąg znaków): Imię i nazwisko właściciela kontainitialBalance(liczba, opcjonalnie): Saldo początkowe (domyślnie 0)
- Metodę
<strong>getBalance()</strong>, która:- Zwraca aktualne saldo konta
- Nie wymaga parametrów
- Metodę
<strong>getAccountInfo()</strong>, która:- Zwraca sformatowany ciąg znaków:
"${accountHolder}: $${balance}" - Przykład: Jeśli accountHolder ma wartość "John", a balance wynosi 500, zwraca
"John: $500"
- Zwraca sformatowany ciąg znaków:
Spróbuj swoich sił
// TODO: Utwórz klasę o nazwie BankAccount
// TODO: Dodaj konstruktor przyjmujący dwa parametry: accountHolder i initialBalance (domyślna wartość to 0)
// TODO: Dodaj metodę getBalance(), która zwraca bieżące saldo konta
// TODO: Dodaj metodę getAccountInfo(), która zwraca sformatowany ciąg znaków: "${accountHolder}: $${balance}"
// Test
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
console.log('Balance:', testAccount.getBalance()); // 500Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowującePoćwicz samodzielnie: Kompilator JavaScript online