当前位置: 首页 > news >正文

网站设计的软件互联网推广平台

网站设计的软件,互联网推广平台,wordpress预加载,青岛开发区网站建设多少钱导读大纲 1.1.1 扩展属性的创建和使用 1.1.1 扩展属性的创建和使用 之前, 我们已经了解声明 Kotlin 属性的语法 Kotlin中的顶级属性–传送门就像扩展函数一样,我们也可以指定扩展属性就像之前所说,属性和函数的区别在于前者是特征,后者是行为 相比扩展函…

导读大纲

      • 1.1.1 扩展属性的创建和使用

1.1.1 扩展属性的创建和使用

  1. 之前, 我们已经了解声明 Kotlin 属性的语法

    • Kotlin中的顶级属性–传送门
    • 就像扩展函数一样,我们也可以指定扩展属性
    • 就像之前所说,属性和函数的区别在于前者是特征,后者是行为
      1. 相比扩展函数,扩展属性无非就是使用属性访问语法来访问扩展功能
  2. 在上一节中,我们定义扩展函数 lastChar()

    • 扩展函数 lastChar()–传送门
    • <1> 让我们把它转换成一个属性,这样就可以调用 “myText”.lastChar
    • 与函数一样,扩展属性看起来就像添加接收器类型的普通属性
      1. 必须始终定义getter,因为没有后备字段
        • 扩展属性就是通过自定义 getter 访问器来实现对已有类的功能扩展
      2. 由于这里的实现比较简单, 所以使用表达式体的形式定义get()
val String.lastChar: Char           // <1>get() = get(length - 1)
fun main() {println("Kotlin".lastChar)      // <1>
}
  1. 如果在 StringBuilder 上定义 lastChar 属性
    • <1> 可以将其作为 var, 因为 StringBuilder 的内容可以被修改
    • <2> 访问扩展属性与访问成员属性完全相同
    • <3> 这里直接通过赋值来调用扩展属性的setter访问器
      1. setter访问器内部可以调用接收器对象的任意方法,比如这里的setCharAt
var StringBuilder.lastChar: Char                // <1>get() = this.get(length - 1)set(value) {                                // <1>this.setCharAt(length - 1, value)       // <3>}
fun main() {println("Kotlin".lastChar)val sb = StringBuilder("Kotlin?")           // <2>println(sb.lastChar)                        // <2>// ?sb.lastChar = '!'                           // <3>println(sb)// Kotlin!
}
  1. 请注意,当需要从 Java 访问扩展属性时,必须明确调用其getter和setter
    • <1> 在Java中遵照 Java 的属性调用惯例来调用xxx.getLastChar(sb)
      1. 从这里看出扩展属性的本质还是静态性
      2. 底层其实还是挂载在 StringFunctions 类下静态方法
        • StringFunctions是通过注解"JvmName"来指定的, 这里不再赘述
import strings.StringFunctions;
public class Example {public static void main(String[] args){StringBuilder sb = new StringBuilder("Kotlin?");System.out.println(StringFunctions.getLastChar(sb));  // <1>StringFunctions.setLastChar(sb,'!');                  // <1>System.out.println(sb);}
}
http://www.sczhlp.com/news/85691/

相关文章:

  • [OLAP/Doris] Doris 之表设计
  • 请将网站首页底部的备案号谷歌广告代理商
  • 做公司网站页面河口企业网站开发公司
  • 桂林北站到象鼻山景区怎么坐车seo外链推广平台
  • 卡姿兰网站建设策划书wordpress 共享
  • php完整网站开发案例镇江营销型建站公叿
  • 网站本地环境搭建教程重庆网站优化公司怎么样
  • 怎么得到wordpress文章加图片苏州企业网站优化
  • 网站做推广怎么收费app模板
  • 揭阳市住房和城乡建设局网站安徽企业年报网上申报入口
  • 营销网站建设教程个人养老金制度来了
  • 网站建设分为多少模块购物商城建设网站
  • 南通网站制作怎样河北网站制作公司哪家好
  • 坂田网站建设多少钱云服务器可以做网站
  • 网站建设较好的公司阿里巴巴网站怎么做全屏大图
  • 网站建设平台网站设计高端设计参考网站
  • 做视频网站都需要什么软件下载国内网站推广
  • 中扶建设网站离线网站制作
  • 营销型网站建设公司哪家建设怎么做电商运营
  • 哈尔滨权威做网站网站的设计风格有哪些
  • 网站建设项目甘特图彩票网站制作
  • 密云建设网站公司网页播放的视频如何下载
  • 没后台的网站怎么做优化网页设计有什么证书
  • 网站开发 混合式 数据库wordpress 设置缩略图
  • cmov用法一例
  • 20250909 之所思 - 人生如梦
  • 认识人工智能-基础认知
  • 网站开发蓝云网络营销的未来6个发展趋势
  • 做网站的需要哪些职位有没有公司直招的网站
  • 高端网站建设专业营销团队网站开发费用预算