Классы

Содержание

Слайд 2

Класс

В объектно-ориентированном программировании класс – это расширяемый шаблон кода для создания объектов,

Класс В объектно-ориентированном программировании класс – это расширяемый шаблон кода для создания
который устанавливает в них начальные значения (свойства) и реализацию поведения (методы).

Слайд 3

Класс

Классы в ECMAScript 6 представляют собой синтаксические ухищрения, маскирующие текущий подход, основанный

Класс Классы в ECMAScript 6 представляют собой синтаксические ухищрения, маскирующие текущий подход,
на конструкторах и прототипах. Синтаксис классов не вводит новую объектно-ориентированную модель, а предоставляет более простой и понятный способ создания объектов и организации наследования.

Слайд 4

Класс

class Person {
constructor(name, age) {
this.name = name;
this.age = age;

Класс class Person { constructor(name, age) { this.name = name; this.age =
}
sayName() {
alert(this.name);
}
getOlder(years) { this.age += years;
}
}

Слайд 5

Задание 1
Переписать функцию-конструктор в виде класса:

function Car(name, year, color) {
this.name

Задание 1 Переписать функцию-конструктор в виде класса: function Car(name, year, color) {
= name;
this.year = year;
this.color = color;
this.changeColor = function (newColor) {
this.color = newColor;
}
}
let car = new Car('BMW', 2012, 'red');
car.changeColor('black');

Слайд 6

Класс

Определение класса начинается с ключевого слова class, за которым следует имя типа.

Класс Определение класса начинается с ключевого слова class, за которым следует имя
Свойства и методы класса определяются в фигурных скобках. Чтобы опре­ делить метод, достаточно указать его имя и скобки, а ключевое слово function не требуется.
Если метод называется constructor, он работает как конструктор класса (аналогично функции Person). Все остальные методы и свойства, определенные в фигурных скобках класса, применяются к прототипу.

Слайд 7

Класс

Метод constructor — специальный метод, необходимый для создания и инициализации объектов, созданных,

Класс Метод constructor — специальный метод, необходимый для создания и инициализации объектов,
с помощью класса. В классе может быть только один метод с именем constructor

Слайд 8

Класс

class Person {
constructor(name) {
this.name = name;
}
sayHi() {
alert(this.name);

Класс class Person { constructor(name) { this.name = name; } sayHi() {
}
}
let user = new Person("Alex");
user.sayHi();

Когда вызывается new Person:
Создаётся новый объект.
constructor запускается с заданным аргументом и сохраняет его в this.name.

Слайд 9

Класс. Геттеры и сеттеры

class Person {
constructor(name) {
// + вызов сеттера

Класс. Геттеры и сеттеры class Person { constructor(name) { // + вызов
this.name = name;
}
get name() { return this._name; }
set name(value) {
if (value.length < 1) { alert(" Too small");
return; }
this._name = value;
}
}
let user = new Person("Alex");
alert(user.name); // Alex

Слайд 10

Класс. Свойства

class Person {
name = "Someone";
sayHi() {
alert(`Hello, ${this.name}!`);
}
}

Класс. Свойства class Person { name = "Someone"; sayHi() { alert(`Hello, ${this.name}!`); } }

Слайд 11

Задание 2

Ваша задача реализовать класс Person. Вы должны заполнить метод Constructor, чтобы

Задание 2 Ваша задача реализовать класс Person. Вы должны заполнить метод Constructor,
принять имя как строку и возраст как число, реализовать метод getInfo получения информации, который должен вернуть, например, “johns age 34”

Слайд 12

Класс. Наследование.

Главное преимущество классов над более традиционным jаvаSсriрt-синтаксисом - простота реализации наследования.

Класс. Наследование. Главное преимущество классов над более традиционным jаvаSсriрt-синтаксисом - простота реализации
Можно использовать простой синтаксис, общий для многих языков: ключевое слово extends.

class Emloyee extends Person {
}

Слайд 13

Класс. Наследование.

Если мы определим свой метод с таким же именем в дочернем

Класс. Наследование. Если мы определим свой метод с таким же именем в
классе, то он будет использоваться взамен родительского
Обычно мы не заменяем родительский метод, а скорее делаем новый на его основе, изменяя или расширяя его функциональность. Мы делаем что-то в нашем методе и вызываем родительский метод до/после или в процессе с помощью ключевого слова “super”

Слайд 14

Класс. Наследование.

super.method(...) вызывает родительский метод.
super(...) вызывает родительский конструктор (работает только внутри нашего

Класс. Наследование. super.method(...) вызывает родительский метод. super(...) вызывает родительский конструктор (работает только
конструктора).
hide() {
super.hide(); // вызываем родительский метод hide
this.delete(); // и затем delete
}

Слайд 15

Класс. Наследование.

Наследование конструкторов:
constructor(name, age) {
super(name);
this.age = age;
}

Класс. Наследование. Наследование конструкторов: constructor(name, age) { super(name); this.age = age; }

Слайд 16

Задание 3

Ваша задача - реализовать класс Cat, который расширяет Animal, и заменить

Задание 3 Ваша задача - реализовать класс Cat, который расширяет Animal, и
метод speak, чтобы вернуть имя кошки + мяу. например «Mr Whiskers meows.». Атрибут name передается с this.name

class Animal {
constructor(name) {
this.name = name;
}
speak() {
alert(this.name + ' says hi');
}
}

Слайд 17

Проверка класса: "instanceof"

Чтобы проверить, к какому классу принадлежит объект, с учётом наследования:
obj

Проверка класса: "instanceof" Чтобы проверить, к какому классу принадлежит объект, с учётом наследования: obj instanceof Class
instanceof Class

Слайд 18

Задание 4
Создать класс Person со стандартными свойствами (имя, возраст) и действиями(идти,

Задание 4 Создать класс Person со стандартными свойствами (имя, возраст) и действиями(идти,
разговаривать, есть) человека, от него наследовать классы Ребенок и взрослый со своими особенными и методами свойствами (н-р, у ребенка - плакать или ходить в школу)

Слайд 19

Задание 5

Реализовать с помощью классов функциональность из задачи 3 темы “прототипы” :
Реализовать

Задание 5 Реализовать с помощью классов функциональность из задачи 3 темы “прототипы”
на основе прототипного наследования создание модальных окон (например, базовая функция модальное окно, с методами показа и скрытия, от которого наследуются функции создания предупреждающего окна, запрещающего окна, окна с успешным выполнением )
Имя файла: Классы.pptx
Количество просмотров: 36
Количество скачиваний: 0