Notice: file_put_contents(): Write of 17403 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck@mobileproglib P.5644
MOBILEPROGLIB Telegram 5644
👾 Что нужно сделать, чтобы класс можно было наследовать

По умолчанию, классы в Kotlin объявляются как final, то есть их нельзя наследовать. Если мы всё же попытаемся наследоваться от такого класса, то получим ошибку: «This type is final, so it cannot be inherited from».

Чтобы класс можно было наследовать, его нужно объявить с модификатором open.

open class Fraction {...}


Не только классы, но и функции в Kotlin по умолчанию имеют статус final. Поэтому те функции, которые находятся в родительском классе и которые вы хотите переопределить в дочерних классах, также должны быть отмечены open.

open class Fraction {open fun toAttack() {...}}


Свойства класса также по умолчанию являются final. Для возможности переопределения таких свойств в дочерних классах, не забудьте и их отметить ключевым словом open.

open class Fraction {open val name: String = «default»open fun toAttack() {...}}


При этом, если в открытом классе будут присутствовать функции и свойства, которые не отмечены словом open, то переопределяться они не будут. Но дочерний класс сможет к ним обращаться.

open class Fraction {open val name: String = «default»fun toAttack() {...}}class Horde : Fraction() {override val name = «Horde»}class SomeClass() {val horde = Horde()horde.toAttack()}


Библиотека мобильного разработчика #буст
🤩5👍1🔥1



tgoop.com/mobileproglib/5644
Create:
Last Update:

👾 Что нужно сделать, чтобы класс можно было наследовать

По умолчанию, классы в Kotlin объявляются как final, то есть их нельзя наследовать. Если мы всё же попытаемся наследоваться от такого класса, то получим ошибку: «This type is final, so it cannot be inherited from».

Чтобы класс можно было наследовать, его нужно объявить с модификатором open.

open class Fraction {...}


Не только классы, но и функции в Kotlin по умолчанию имеют статус final. Поэтому те функции, которые находятся в родительском классе и которые вы хотите переопределить в дочерних классах, также должны быть отмечены open.

open class Fraction {open fun toAttack() {...}}


Свойства класса также по умолчанию являются final. Для возможности переопределения таких свойств в дочерних классах, не забудьте и их отметить ключевым словом open.

open class Fraction {open val name: String = «default»open fun toAttack() {...}}


При этом, если в открытом классе будут присутствовать функции и свойства, которые не отмечены словом open, то переопределяться они не будут. Но дочерний класс сможет к ним обращаться.

open class Fraction {open val name: String = «default»fun toAttack() {...}}class Horde : Fraction() {override val name = «Horde»}class SomeClass() {val horde = Horde()horde.toAttack()}


Библиотека мобильного разработчика #буст

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck


Share with your friend now:
tgoop.com/mobileproglib/5644

View MORE
Open in Telegram


Telegram News

Date: |

In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. Read now Today, we will address Telegram channels and how to use them for maximum benefit. With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week.
from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM American