Метод (програмування)Ме́тод в об'єктно-орієнтованому програмуванні — підпрограма (процедура, функція), що використовується виключно разом із класом (методи класу) або з об'єктом (методи екземпляра). ВидиРозрізняють прості методи і статичні методи (методи класу):
Метод екземпляра (простий метод)Приклад простого методу на JavaScript: const person = {
name: 'Vasya',
surname: 'Pupkin',
born: '01.01.1990',
//метод, що видає інформацію про персону
getData() {
return person.name + ' ' + person.surname + ', ' + person.born;
}
};
const personData = person.getData(); //'Vasya Pupkin, 01.01.1990'
Статичний методМетоди і властивості, які не прив'язані до конкретного екземпляру об'єкта, називають «статичними». Їх записують прямо в саму функцію-конструктор. 'use strict';
//створюємо клас для зберігання інформації про журнали
function Journal(date) {
this.date = date;
//додаємо метод для перетворення дати
this.formatDate = function(date) {
return date.getDate() + '.' + (date.getMonth() + 1) + '.' + date.getFullYear();
};
//додаємо метод для коректного виводу дати випуску журналу
this.getTitle = function() {
return 'Выпуск от ' + this.formatDate(this.date);
};
}
//додаємо метод для порівняння дати випуску двох журналів
Journal.compare = function(journalA, journalB) {
return journalA.date - journalB.date;
};
// створюємо масив журналів
const journals = [
new Journal(new Date(2012, 1, 1)),
new Journal(new Date(2012, 0, 1)),
new Journal(new Date(2011, 11, 1))
];
//знаходимо журнал який був вупещений раніше
function findMin(journals) {
let min = 0;
for (let i = 0; i < journals.length; i++) {
// використовуємо статичний метод
if (Journal.compare(journals[min], journals[i]) > 0) min = i;
}
return journals[min];
}
const firstJournal = findMin(journals).getTitle(); //Выпуск от 1.12.2011
Використання на практиціПодібно до процедури в процедурних мовах програмування, метод, як правило, складається із послідовності операцій для виконання дії, множини вхідних параметрів для налаштування цієї дії, та, можливо, вихідного значення деякого типу (значення, що повертається). Призначення методів полягає в здійсненні певних дій над полями класу (змінними-членами) та надання механізму доступу до цих полів даних, що інкапсулюються в об'єкті або класі. КласифікаціяЗалежно від способу використання, методи поділяються на:
Залежно від впливу на стан об'єкта, методи поділяються на:
Методи в JavaScriptВсі значення в JavaScript, за винятком null і undefined, містять набір допоміжних функцій і значень, доступних «через крапку». Такі функції називають «методами», а значення - «властивостями». Тут ми розглянемо основи використання властивостей і методів. Приведемо деякі стандартні методи різних типів даних: Методи StringВ рядків є метод toUpperCase (), який повертає рядок у верхньому регістрі let hello = "Hello world!";
hello = hello.toUpperCase(); // "HELLO WORLD!"
Також є метод toLowerCase (), який працює аналогічно попередньому але повертає рядок у нижньому регістрі. Метод indexOf (Str) повертає позицію першого символу першого входження підрядка Str в рядку. Метод lastIndexOf (Str) повертає позицію останнього входження Str в рядку. Метод slice (String) повертає фрагмент рядка. Методи NumberДля переведення числа в рядок використовують метод toString(система счисления) let n = 255;
str = n.toString(16); // ff
Методи ArrayДля додавання/видалення елементів масиву використовують наступні методи:
Методи FunctionУ сучасному JavaScript у функційє вбудований метод bind, який ми можемо використовувати. За допомогою цього методу до функції можна прив'язати контекст var user = {
name: "Vasya",
sayName: function() {
alert( this.name );
}
};
//Прив'яжемо контекст об'єкта до функції
setTimeout(user.sayName.bind(user), 1000); //виведе 'Vasya' через 1 секунду
Див. такожЛітература
Посилання
|