Создание экземпляров
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy. Урок 12 из 56.
После определения класса вы можете создавать объекты на основе этого класса, используя ключевое слово new. Эти объекты называются экземплярами.
Допустим, у нас есть простой класс Person:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, my name is ${this.name}`;
}
}Создайте экземпляр класса Person:
const john = new Person("John", 30);После выполнения вышеуказанного кода john является экземпляром класса Person с:
- свойством
name, установленным в "John" - свойством
age, установленным в 30
Вы можете обращаться к свойствам и методам экземпляра:
console.log(john.name); // Выводит: John
console.log(john.greet()); // Выводит: Hello, my name is JohnВы можете создать несколько экземпляров одного и того же класса:
const sarah = new Person("Sarah", 25);
console.log(sarah.name); // Выводит: SarahЗадание
Вам дан класс Student. Ваша задача — создать два экземпляра студента в файле driver.js:
- Создайте
student1с именем "Sarah" и оценкой 85 - Создайте
student2с именем "Mike" и оценкой 92
Попробуйте сами
import { Student } from './student.js';
// TODO: Создайте экземпляр класса Student с именем student1, именем "Sarah" и оценкой 85
// TODO: Создайте экземпляр класса Student с именем student2, именем "Mike" и оценкой 92
// Тестовый код - не изменять
console.log(student1.name); // Должно вывести "Sarah"
console.log(student2.grade); // Должно вывести 92В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса CircleПереопределение и метод AreaСтатический счетчик фигур14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композицииВалидация автора книги6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средствБаланс как приватное поле9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закреплениеПотренируйтесь самостоятельно: Онлайн-компилятор JavaScript