В Android-разработке расширения (extension functions и properties) позволяют добавлять новую функциональность к существующим классам без их наследования или использования декораторов. Это особенно полезно при работе со стандартными классами SDK.
Расширения свойств (Extension Properties) — это свойства, которые мы можем добавлять к существующим классам. Они не хранят состояние, их вычисляемое значение определяется геттером.
Примеры использования расширений свойств в Android:
Упрощение доступа к LayoutInflater:
kotlin
Теперь можно использовать context.layoutInflater вместо LayoutInflater.from(context).
Короткое свойство для скрытия View:
kotlin
Теперь можно использовать view.isVisibleGone = false для скрытия View.
Получение размера экрана в DP:
kotlin
Пример использования: context.screenWidthInDp.
Доступ к SharedPreferences:
kotlin
Хотя это функция, ее часто используют как свойство для удобного доступа: context.sharedPreferences("my_prefs").
Важные моменты о расширениях свойств:
По сути, в качестве расширения в Android можно добавить любое вычисляемое свойство, которое логически относится к существующему классу и упрощает его использование, избегая создания вспомогательных функций или классов-оболочек.