Ме́тод в об'єктно-орієнтованому програмуванні — підпрограма (процедура, функція), що використовується виключно разом із класом (методи класу) або з об'єктом (методи екземпляра).
Види
Розрізняють прості методи і статичні методи (методи класу):
- прості методи мають доступ до даних об'єкта (конкретного екземпляра даного класу)
- статичні методи не мають доступу до даних об'єкта і для їх використання не потрібно створювати екземпляри (даного класу).
Метод екземпляра (простий метод)
Приклад простого методу на 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
Для додавання/видалення елементів масиву використовують наступні методи:
- pop Видаляє останній елемент з масиву і повертає його.
- push Додає елемент в кінець масиву.
- shift Видаляє з масиву перший елемент і повертає його.
- unshift Додає елемент в початок масиву.
Методи Function
У сучасному JavaScript у функційє вбудований метод bind, який ми можемо використовувати. За допомогою цього методу до функції можна прив'язати контекст
var user = { name: "Vasya", sayName: function() { alert( this.name ); } }; //Прив'яжемо контекст об'єкта до функції setTimeout(user.sayName.bind(user), 1000); //виведе 'Vasya' через 1 секунду
Див. також
Література
- Abstract Methods and Classes. oracle.com. Oracle Java Documentation. Процитовано 11 грудня 2014.
- Classes and methods 08/12/2022, microsoft
Посилання
- Абстрактні класи та методи
- Абстрактні класи. Абстрактні методи. Приклади. Ключове слово abstract
- Java Class Methods
- What is the Difference Between Class and Method 2019
Ця стаття потребує додаткових для поліпшення її . (червень 2023) |
Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Me tod v ob yektno oriyentovanomu programuvanni pidprograma procedura funkciya sho vikoristovuyetsya viklyuchno razom iz klasom metodi klasu abo z ob yektom metodi ekzemplyara VidiRozriznyayut prosti metodi i statichni metodi metodi klasu prosti metodi mayut dostup do danih ob yekta konkretnogo ekzemplyara danogo klasu statichni metodi ne mayut dostupu do danih ob yekta i dlya yih vikoristannya ne potribno stvoryuvati ekzemplyari danogo klasu Metod ekzemplyara prostij metod Priklad prostogo metodu na JavaScript const person name Vasya surname Pupkin born 01 01 1990 metod sho vidaye informaciyu pro personu getData return person name person surname person born const personData person getData Vasya Pupkin 01 01 1990 Statichnij metodMetodi i vlastivosti yaki ne priv yazani do konkretnogo ekzemplyaru ob yekta nazivayut statichnimi Yih zapisuyut pryamo v samu funkciyu konstruktor use strict stvoryuyemo klas dlya zberigannya informaciyi pro zhurnali function Journal date this date date dodayemo metod dlya peretvorennya dati this formatDate function date return date getDate date getMonth 1 date getFullYear dodayemo metod dlya korektnogo vivodu dati vipusku zhurnalu this getTitle function return Vypusk ot this formatDate this date dodayemo metod dlya porivnyannya dati vipusku dvoh zhurnaliv Journal compare function journalA journalB return journalA date journalB date stvoryuyemo masiv zhurnaliv const journals new Journal new Date 2012 1 1 new Journal new Date 2012 0 1 new Journal new Date 2011 11 1 znahodimo zhurnal yakij buv vupeshenij ranishe function findMin journals let min 0 for let i 0 i lt journals length i vikoristovuyemo statichnij metod if Journal compare journals min journals i gt 0 min i return journals min const firstJournal findMin journals getTitle Vypusk ot 1 12 2011 Vikoristannya na praktici Podibno do proceduri v procedurnih movah programuvannya metod yak pravilo skladayetsya iz poslidovnosti operacij dlya vikonannya diyi mnozhini vhidnih parametriv dlya nalashtuvannya ciyeyi diyi ta mozhlivo vihidnogo znachennya deyakogo tipu znachennya sho povertayetsya Priznachennya metodiv polyagaye v zdijsnenni pevnih dij nad polyami klasu zminnimi chlenami ta nadannya mehanizmu dostupu do cih poliv danih sho inkapsulyuyutsya v ob yekti abo klasi KlasifikaciyaZalezhno vid sposobu vikoristannya metodi podilyayutsya na zmistovni nadayutsya kliyentam klasu i viznachayut jogo interfejs zvichajno ye publichnimi specialni viklikayutsya avtomatichno pri stvorenni konstruktori znishenni destruktori kopiyuvanni konstruktori kopiyuvannya peretvorenni tipu tosho dopomizhni viklikayutsya z zmistovnih ta specialnih metodiv zvichajno ne nadayutsya kliyentam klasu i ye zahishenimi abo privatnimi Zalezhno vid vplivu na stan ob yekta metodi podilyayutsya na konstruktori vstanovlyuyut pochatkovij stan ob yekta destruktori skidayut stan ob yekta selektori getteri nadayut znachennya atributa modifikatori setteri vstanovlyuyut znachennya atributa nadayut poslidovnij dostup do mnozhini atributiv Metodi v JavaScriptVsi znachennya v JavaScript za vinyatkom null i undefined mistyat nabir dopomizhnih funkcij i znachen dostupnih cherez krapku Taki funkciyi nazivayut metodami a znachennya vlastivostyami Tut mi rozglyanemo osnovi vikoristannya vlastivostej i metodiv Privedemo deyaki standartni metodi riznih tipiv danih Metodi String V ryadkiv ye metod toUpperCase yakij povertaye ryadok u verhnomu registrilet hello Hello world hello hello toUpperCase HELLO WORLD Takozh ye metod toLowerCase yakij pracyuye analogichno poperednomu ale povertaye ryadok u nizhnomu registri Metod indexOf Str povertaye poziciyu pershogo simvolu pershogo vhodzhennya pidryadka Str v ryadku Metod lastIndexOf Str povertaye poziciyu ostannogo vhodzhennya Str v ryadku Metod slice String povertaye fragment ryadka Metodi Number Dlya perevedennya chisla v ryadok vikoristovuyut metod toString sistema schisleniya let n 255 str n toString 16 ff Metodi Array Dlya dodavannya vidalennya elementiv masivu vikoristovuyut nastupni metodi pop Vidalyaye ostannij element z masivu i povertaye jogo push Dodaye element v kinec masivu shift Vidalyaye z masivu pershij element i povertaye jogo unshift Dodaye element v pochatok masivu Metodi Function U suchasnomu JavaScript u funkcijye vbudovanij metod bind yakij mi mozhemo vikoristovuvati Za dopomogoyu cogo metodu do funkciyi mozhna priv yazati kontekstvar user name Vasya sayName function alert this name Priv yazhemo kontekst ob yekta do funkciyi setTimeout user sayName bind user 1000 vivede Vasya cherez 1 sekunduDiv takozhZamishennya metodu Perevantazhennya funkcij Obmin povidomlennyami Klas programuvannya Abstraktnij metodLiteraturaAbstract Methods and Classes oracle com Oracle Java Documentation Procitovano 11 grudnya 2014 Classes and methods 08 12 2022 microsoftPosilannyaAbstraktni klasi ta metodi Abstraktni klasi Abstraktni metodi Prikladi Klyuchove slovo abstract Java Class Methods What is the Difference Between Class and Method 2019 Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno cherven 2023 Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi