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

网站制作致谢词做网站的文案怎么写

网站制作致谢词,做网站的文案怎么写,怎样建设网站是什么,网站都有什么费用在 Kotlin 里,运算符重载函数允许为自定义类型重新定义现有的运算符(如 -…)行为,从而让自定义类型能像内置类型那样使用运算符 文章目录 基本语法作用场景类对象数据类型接口 注意事项 基本语法 若要重载运算符,需要定义一个带有 operato…

在 Kotlin 里,运算符重载函数允许为自定义类型重新定义现有的运算符(如 + -…)行为,从而让自定义类型能像内置类型那样使用运算符

文章目录

  • 基本语法
  • 作用场景
    • 类对象
    • 数据类型
    • 接口
  • 注意事项

基本语法

若要重载运算符,需要定义一个带有 operator 修饰符的函数。函数名必须是 Kotlin 预定义的运算符对应的函数名。基本语法如下:

class YourClass {operator fun XXX(parameters): ReturnType {// 函数体}
}

作用场景

类对象

比如为我们的自定义类型添加加法运算

如下图所示:
+对应的函数名是plus,
+=对应的函数名是 plusAssign

在这里插入图片描述

class Student(val name: String, val age: Int) {//注意,二元运算符必须带一个形参,表示右侧的操作数operator fun plus(another: Student): Student {return Student(this.name + another.name, this.age+another.age)}
}fun main() {val stu1 = Student("海贼王 ", 2)val stu2 = Student("我当定了", 4)val result = stu1 + stu2println("(${result.name}, ${result.age})")
}

在这里插入图片描述
在这个例子中,Student类重载了 + 运算符,实现了两个 Student对象的相加。stu1 + stu2相当于stu1.plus(stu2)

接下来举一个重载一元运算符的例子,比如取反运算符:

class Student(val name: String, val age: Int) {operator fun not(): Student {return Student(name.reversed(), age)}
}fun main() {val stu1 = Student("海贼王", 2)val stu2 = !stu1println("(${stu2.name}, ${stu2.age})")
}

在这里插入图片描述
!stu1相当于stu1.not()

数据类型

尽管基本数据类型(如 Int、Double 等)的内置运算符已有默认行为,但可以为它们的扩展类型定义新的运算符行为。

// 为 Int 类型的扩展类重载 * 运算符
class Multiplier(val value: Int) {operator fun times(other: Int): Int {return this.value * other}
}fun main() {val multiplier = Multiplier(5)val result = multiplier * 3println(result)
}

在上述代码中,为 Multiplier 类重载了 * 运算符,让 Multiplier 对象可以和 Int 类型的数据进行乘法运算。

接口

如果一个类实现了特定的接口,并且接口中定义了运算符重载函数,那么该类对象也能使用这些重载的运算符。

interface Addable<T> {operator fun plus(other: T): T
}class ComplexNumber(val real: Double, val imaginary: Double) : Addable<ComplexNumber> {override operator fun plus(other: ComplexNumber): ComplexNumber {return ComplexNumber(this.real + other.real, this.imaginary + other.imaginary)}
}fun main() {val c1 = ComplexNumber(1.0, 2.0)val c2 = ComplexNumber(3.0, 4.0)val result = c1 + c2println("(${result.real}, ${result.imaginary})")
}

在这个例子中,ComplexNumber 类实现了 Addable 接口,并重载了 + 运算符,使得 ComplexNumber 对象可以使用 + 进行相加操作。

注意事项

  1. 运算符选择:只能重载 Kotlin 预定义的运算符,不能创建新的运算符。
  2. 函数签名:运算符重载函数的参数和返回值类型需要根据具体的运算符和业务需求来确定。
  3. 遵循约定:重载运算符时,应尽量遵循该运算符在数学或逻辑上的常规语义,避免造成混淆。
http://www.dtcms.com/wzjs/566871.html

相关文章:

  • 可以仿做网站吗电商平台网站模板
  • 白云手机网站建设北京广告设计公司排行
  • 百度手机助手app官方下载seo对企业网站运营有何意义
  • 做网站该读啥济南网站建设工作
  • 昆明网站运营高端建筑物图片
  • 寻找南京帮助做网站的单位wordpress仿微信菜单栏
  • 大型网站建设报价企业的网站建设与设计论文
  • 中国美院网站建设公司企业网站开发多少钱
  • 色流网站如何做wordpress安装数据库连接错误
  • 做爰动态视频网站成都网站建设哪儿济南兴田德润怎么联系
  • 怎么创建网站域名wordpress菜单导航栏
  • 会展网站建设成功的原因做翻译网站 知乎
  • wordpress版权兰州seo网站建设
  • seo网站推广技术app软件开发不包括
  • 绍兴住房和城乡建设厅网站12306网站开发商
  • 辽宁手机版建站系统信息成都建设网站价格
  • 网站建设素材模板下载wordpress 3.2.1漏洞
  • 如何开 网站建设公司帝国网站地图插件
  • 专业建站公司前景做五金上哪个网站推广
  • 昆明网站建设价格房屋装修设计公司
  • 基层建设刊物网站深圳哪家网站公司好
  • 深圳手机网站建设公司网站备案 网站建设方案书
  • 网站查询工具seowordpress能做交互类网站
  • 现在用什么cms做网站好论学院网站建设项目的进度管理
  • 网上医疗和医院网站建设制作宁波网站设计方案
  • wordpress不显示评论框东莞seo建站怎么投放
  • 郑州 公司网站制作做购物网站怎么写开题报告
  • 品牌网站解决方案门户网站建设教程
  • 政务网站信息化建设情况汇报火车头采集wordpress
  • 半路学网站建设难吗网站空间怎么续费