Завдання: Реалізація приватних властивостей у класі
Завдання
Створюється клас BankAccount для безпечного керування банківськими рахунками користувачів. Кожен рахунок має власника та баланс, але необхідно захистити баланс від прямого доступу. Мета — використати приватні властивості для запобігання небажаним змінам балансу, забезпечивши контрольований доступ через методи.
- Приватна властивість балансу:
- Усередині класу
BankAccountоголосити приватну властивість#balance.
- Усередині класу
- Конструктор:
- Конструктор має приймати параметри
ownerтаinitialBalance; - Присвоїти
ownerпублічній властивості, аinitialBalance— приватній властивості#balance.
- Конструктор має приймати параметри
- Додавання методів:
- deposit: Описати метод, який приймає параметр
amount. Якщо значення більше 0, додатиamountдо#balance; - withdraw: Описати метод, який приймає параметр
amount. Якщо значення більше 0 та менше або дорівнює#balance, віднятиamountвід#balance; - getBalance: Описати метод, який повертає рядок з іменем власника та балансом рахунку, наприклад:
"Account balance for John: $1500".
- deposit: Описати метод, який приймає параметр
123456789101112131415161718192021222324252627282930313233343536class BankAccount { #_____; // Declare private property constructor(owner, initialBalance) { this._____ = owner; this.#_____ = initialBalance; } deposit(_____) { if (_____) { this.#_____ += _____; } } withdraw(_____) { if (_____ && _____) { this.#_____ -= _____; } } getBalance() { return `Account balance for ${this._____}: $${this.#_____}`; } } // Testing const account1 = new BankAccount('Alice', 1000); account1.deposit(500); console.log(account1.getBalance()); // Expected: Account balance for Alice: $1500 account1.withdraw(300); console.log(account1.getBalance()); // Expected: Account balance for Alice: $1200 // Attempt direct access (should cause an error) // console.log(account1.#balance);
- Оголосити приватну властивість
#balanceу класіBankAccount; - У конструкторі присвоїти
ownerпублічній властивості, аinitialBalance— приватній властивості#balance; - Описати метод
deposit, який приймає параметрamount. Перевірити, чиamountбільше 0, після чого додатиamountдо#balance; - Описати метод
withdraw, який приймає параметрamount. Перевірити, чиamountбільше 0 та менше або дорівнює#balance, після чого віднятиamountвід#balance; - Описати метод
getBalance, який повертає рядок з іменем власника та балансом рахунку.
123456789101112131415161718192021222324252627282930313233343536class BankAccount { #balance; // Declare private property constructor(owner, initialBalance) { this.owner = owner; this.#balance = initialBalance; } deposit(amount) { if (amount > 0) { this.#balance += amount; } } withdraw(amount) { if (amount > 0 && amount <= this.#balance) { this.#balance -= amount; } } getBalance() { return `Account balance for ${this.owner}: $${this.#balance}`; } } // Testing const account1 = new BankAccount('Alice', 1000); account1.deposit(500); console.log(account1.getBalance()); // Output: Account balance for Alice: $1500 account1.withdraw(300); console.log(account1.getBalance()); // Output: Account balance for Alice: $1200 // Attempt direct access (should cause an error) // console.log(account1.#balance);
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 2.22
Завдання: Реалізація приватних властивостей у класі
Свайпніть щоб показати меню
Завдання
Створюється клас BankAccount для безпечного керування банківськими рахунками користувачів. Кожен рахунок має власника та баланс, але необхідно захистити баланс від прямого доступу. Мета — використати приватні властивості для запобігання небажаним змінам балансу, забезпечивши контрольований доступ через методи.
- Приватна властивість балансу:
- Усередині класу
BankAccountоголосити приватну властивість#balance.
- Усередині класу
- Конструктор:
- Конструктор має приймати параметри
ownerтаinitialBalance; - Присвоїти
ownerпублічній властивості, аinitialBalance— приватній властивості#balance.
- Конструктор має приймати параметри
- Додавання методів:
- deposit: Описати метод, який приймає параметр
amount. Якщо значення більше 0, додатиamountдо#balance; - withdraw: Описати метод, який приймає параметр
amount. Якщо значення більше 0 та менше або дорівнює#balance, віднятиamountвід#balance; - getBalance: Описати метод, який повертає рядок з іменем власника та балансом рахунку, наприклад:
"Account balance for John: $1500".
- deposit: Описати метод, який приймає параметр
123456789101112131415161718192021222324252627282930313233343536class BankAccount { #_____; // Declare private property constructor(owner, initialBalance) { this._____ = owner; this.#_____ = initialBalance; } deposit(_____) { if (_____) { this.#_____ += _____; } } withdraw(_____) { if (_____ && _____) { this.#_____ -= _____; } } getBalance() { return `Account balance for ${this._____}: $${this.#_____}`; } } // Testing const account1 = new BankAccount('Alice', 1000); account1.deposit(500); console.log(account1.getBalance()); // Expected: Account balance for Alice: $1500 account1.withdraw(300); console.log(account1.getBalance()); // Expected: Account balance for Alice: $1200 // Attempt direct access (should cause an error) // console.log(account1.#balance);
- Оголосити приватну властивість
#balanceу класіBankAccount; - У конструкторі присвоїти
ownerпублічній властивості, аinitialBalance— приватній властивості#balance; - Описати метод
deposit, який приймає параметрamount. Перевірити, чиamountбільше 0, після чого додатиamountдо#balance; - Описати метод
withdraw, який приймає параметрamount. Перевірити, чиamountбільше 0 та менше або дорівнює#balance, після чого віднятиamountвід#balance; - Описати метод
getBalance, який повертає рядок з іменем власника та балансом рахунку.
123456789101112131415161718192021222324252627282930313233343536class BankAccount { #balance; // Declare private property constructor(owner, initialBalance) { this.owner = owner; this.#balance = initialBalance; } deposit(amount) { if (amount > 0) { this.#balance += amount; } } withdraw(amount) { if (amount > 0 && amount <= this.#balance) { this.#balance -= amount; } } getBalance() { return `Account balance for ${this.owner}: $${this.#balance}`; } } // Testing const account1 = new BankAccount('Alice', 1000); account1.deposit(500); console.log(account1.getBalance()); // Output: Account balance for Alice: $1500 account1.withdraw(300); console.log(account1.getBalance()); // Output: Account balance for Alice: $1200 // Attempt direct access (should cause an error) // console.log(account1.#balance);
Дякуємо за ваш відгук!