Уроки Javascript

#14 – Створення об'єктів. Вбудовані функції

#14 – Створення об'єктів. Вбудовані функції

JavaScript має набір вбудованих класів і функцій, що можна використовувати з «коробки». Ми навчимося працювати з датою та розглянемо методи для роботи з масивами. Додатково ми навчимося створювати власні класи в Js.

Відеоурок

Telegram group

Підписуйтесь на нашу групу в Телеграмі 🇺🇦

Робота з датою

Для роботи з датою та часом у JavaScript є передбачений клас Date


Спершу необхідно створити об'єкт на основі класу. Для цього напишіть наступну конструкцію: 

var time_date = new Date();

Далі через об'єкт time_date ви можете звертатися до всіх методів класу Date та отримувати всі значення пов'язані з датою та часом.


Робота з рядками

Кожен рядок є масивом символів. З цієї причини можна працювати з будь-яким рядком як зі звичайним масивом.


Приклад виведення елемента з рядка: 

var string = "Рядок";
console.log(string[0]); // Виведе символ "Р"
console.log(string[3] + string[1]); // Виведе символи "оя" (4 та 2 символ)

Також ми можемо шукати символи в рядку або зводити всі символи у верхній (toUpperCase) або нижній регістр (toLowerCase).


Класи та об'єкти. Поняття ООП

На початковому етапі ООП – це темний ліс, в якому багато чого незрозуміло і надто ускладнене. Насправді, все зовсім не так. Пропонуємо абстрагуватися від специфічних (незрозумілих) визначень та познайомитися з ООП простими словами. 


Оскільки на прикладі все засвоїти набагато простіше, то давайте за приклад візьмемо робота, якого намагатимемося описати за рахунок класів в ООП.


Клас у випадку з роботом – це його креслення. Примірником класу (об'єктом) називає цілий робот, створений точно за кресленням.


Спадкування – це додавання корисних опцій до креслення робота. Наприклад, беремо стандартний креслення робота і малюємо до нього лазери, крила та броню. Усі ці домальовки ми зробимо у класі спадкоємця, основний функціонал якого взято з батьківського класу.


Поліморфізм – це загальний функціонал для всіх роботів і не важливо, що кожен робот може дуже відрізнятися один від одного. Наприклад, у основному класі ми вказуємо можливість міграції всім наступних роботів. Далі в класі спадкоємця ми можемо додатково вказати можливість левітації для робота, в іншому класі вкажемо можливість пересування по воді і так далі. Виходить, що є загальний функціонал, що записаний у головному кресленні, але його можна переписати для кожного наступного робота (для кожного спадкоємця).


А інкапсуляція є для нас бронею, яка захищає робота. Під пластиром броні знаходяться вразливі елементи, на зразок проводів та мікросхем. Після прикриття проломів за допомогою броні, робот повністю захищений від зовнішніх втручань. По суті ми робимо доступ до всіх полів лише за рахунок методів, тим самим прямий доступ до поля буде закритий.


У всіх класів методи можуть відрізнятися, як і поля з конструкторами. Кожен клас дозволяє створювати будь-яку кількість різних об'єктів, усі мають власні характеристики.

Вихідний код

Весь код буде доступний після підписки на проект!

Онлайн редактор коду

Завантаження...

Завдання до уроку

Що таке ООП?

Важливо розуміти концепцію ООП, тож розкажіть, що таке класи і що таке об'єкти?

Подивитися відповідь

ООП або об'єктно-орієнтоване програмування це одна з частин програмування, яка ґрунтується на створенні класів та об'єктів.


На основі будь-якого класу можна створювати безліч об'єктів, які будуть мати всі характеристики, записані в основному класі. Таким чином, ви можете прописати весь функціонал в одному місці і створювати об'єкти, не замислюючись про реалізацію функціоналу для них.

Основні концепції

Назвіть 4 основні концепції ООП, а також коротко розкажіть, що вони роблять і за які функції відповідають.

Подивитися відповідь

4 концепції ООП: поліморфізм, абстракція, інкапсуляція та успадкування.


Що вони означають написано вище під відео, з цього приводу не дублюватимемо інформацію повторно.

Об'єкти

Що таке екземпляр і як багато їх може бути?

Подивитися відповідь

Екземпляр – це лише об'єкт класу, якась область пам'яті, яка містить у собі всі характеристики, взяті з класу: поля, методи, конструктори.


Один клас може мати нескінченну кількість об'єктів (екземплярів).

Отримати інші домашні завдання можна після підписки на проект

Велике завдання за курсом

Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця

Також варто подивитися

Three.js с нуля: Разработка сайта с 3Д Графикой
Курс по NestJS с нуля / Разработка веб проектов
Створення динамічного веб-сайту
7 уроків
Курс Nuxt JS / Изучение Nuxt.js фреймворка
Уроки Node JS и Express для начинающих
Изучение стека MEAN: MongoDB, Express, Angular и Node JS
Коментарі
Додати коментар

Поки що коментарів немає