У овом чланку ћете научити да проширите класу новом функционалношћу помоћу функција проширења.
Претпоставимо да морате проширити класу новом функционалношћу. У већини програмских језика или изводите нову класу или користите неку врсту дизајнерског обрасца да бисте то урадили.
Међутим, у Колтину такође можете да користите функцију проширења да бисте проширили класу новом функционалношћу. У основи, функција проширења је функција члана класе која је дефинисана изван класе.
На пример, потребно је да користите методу класе Стринг која враћа нови низ са уклоњеним првим и последњим знаком; овај метод већ није доступан у String
настави. За постизање овог задатка можете користити функцију продужења.
Пример: Уклоните први и последњи знак низа
fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array) ( val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("First character is: $result") )
Када покренете програм, излаз ће бити:
Први лик је: елло Еверион
Овде ()
се String
класи додаје функција екстензије ремовеФирстЛастЦхар .
Назив класе је тип пријемника ( String
класа у нашем примеру). Кључна this
реч унутар функције проширења односи се на објекат примаоца.
Ако требате да интегришете Котлин на врху Јава пројекта, не морате да мењате цео код у Колтин. Само користите функције проширења за додавање функционалности.
То је речено, прилично је лако злоупотребити моћ продужних функција. Препоручујемо вам да погледате ове ресурсе да бисте сазнали када користити екстензије, а када не:
- Да ли су методе продужења и својства проширења лоши?
- Како злоупотребити функције продужења Котлина?