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

个人主体可以做网站吗wordpress免费教程视频教程

个人主体可以做网站吗,wordpress免费教程视频教程,核酸结果查询,门户网站建设申请数据类 数据类主要用于存储数据。 对于每个数据类#xff0c;编译器会自动生成一些额外的成员函数#xff0c;这些函数支持将实例打印为易读的输出、比较实例、复制实例等操作。 数据类使用 data 关键字标记#xff1a; data class User(val name: String, val age: Int…数据类 数据类主要用于存储数据。 对于每个数据类编译器会自动生成一些额外的成员函数这些函数支持将实例打印为易读的输出、比较实例、复制实例等操作。 数据类使用 data 关键字标记 data class User(val name: String, val age: Int)编译器会根据主构造函数中声明的所有属性自动派生以下成员 equals() / hashCode() 对。 格式为 User(nameJohn, age42) 的 toString() 函数。 与属性声明顺序相对应的 componentN() 函数。 copy() 函数详见下文。 为确保生成代码的一致性和有意义的行为数据类必须满足以下要求 主构造函数必须至少有一个参数。 主构造函数的所有参数都必须标记为 val 或 var。 数据类不能是 abstract抽象的、open开放的、sealed密封的或 inner内部的。 此外关于数据类成员的继承其生成遵循以下规则 如果数据类主体中有 equals()、hashCode() 或 toString() 的显式实现或者超类中有这些函数的 final 实现那么不会生成这些函数而是使用现有的实现。 如果超类型有 open开放的且返回兼容类型的 componentN() 函数那么会为数据类生成相应的函数并覆盖超类型的这些函数。如果由于签名不兼容或超类型的函数是 final 而无法覆盖将会报错。 不允许为 componentN() 和 copy() 函数提供显式实现。 数据类可以继承其他类。 open class Person(val name: String) {open fun introduce() {println(My name is $name.)} }// 定义一个继承自 Person 的数据类。 data class Employee(val id: Int, val name2: String, val department: String) : Person(name2) {override fun introduce() {super.introduce()println(Im an employee with ID $id, working in the $department department.)} }fun main() {// 创建 Employee 数据类的实例。val employee Employee(1, John, IT)// My name is John.// Im an employee with ID 1, working in the IT department.employee.introduce()println(employee) // Employee(id1, name2John, departmentIT)// 创建另一个相同属性的 Employee 实例。val anotherEmployee Employee(1, John, IT)// 比较两个实例是否相等。println(Are they equal? ${employee anotherEmployee}) // Are they equal? true }在 JVM 上如果生成的数据类需要有无参构造函数那么必须为属性指定默认值 data class User(val name: String , val age: Int 0)类体中声明的属性 编译器仅会使用主构造函数内定义的属性来自动生成相关函数。若要将某个属性排除在自动生成的实现之外可在类体中声明该属性 data class Person(val name: String) {var age: Int 0 }在以下示例中toString()、equals()、hashCode() 和 copy() 这些自动生成的实现默认仅使用 name 属性并且只有一个组件函数 component1()。age 属性是在类体中声明的因此被排除在外。所以两个 name 相同但 age 值不同的 Person 对象会被视为相等因为 equals() 方法仅评估主构造函数中的属性 val person1 Person(John) val person2 Person(John)person1.age 10 person2.age 20println(person1 person2: ${person1 person2}) // person1 person2: trueprintln(person1 with age ${person1.age}: ${person1}) // person1 with age 10: Person(nameJohn)println(person2 with age ${person2.age}: ${person2}) // person2 with age 20: Person(nameJohn)复制对象 可以使用 copy() 函数来复制一个对象这样你就能在保持部分属性不变的同时修改其他属性。对于上述 User 类该函数的实现如下 fun copy(name: String this.name, age: Int this.age) User(name, age)然后你就可以编写如下代码 val jack User(name Jack, age 1) val olderJack jack.copy(age 2)数据类与解构声明 为数据类生成的组件函数 componentN() 使得数据类可以用于解构声明 val jane User(Jane, 35) val (name, age) jane println($name, $age years of age) // Jane, 35 years of age标准数据类 标准库提供了 Pair 和 Triple 类。不过在大多数情况下使用具名数据类是更好的设计选择因为具名数据类能为属性提供有意义的名称从而使代码更易读。
http://www.w-s-a.com/news/183356/

相关文章:

  • 优化网站排名怎么制作网站建设数据库模板
  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗
  • 数据库网站开发教程网站内部优化是什么意思
  • 哈尔滨建站怎么做广西seo快速排名
  • 公司网站建设的不足企业文档管理wordpress
  • .net做的网站代码网站怎么加二级域名
  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码
  • 网站服务器需要多大设计网站公司开发
  • asp 网站权限设计做网站业务员
  • 做棋牌网站违法嘛网络服务网络推广
  • 专门做推广的网站吗免费建域名网站
  • 在百度做网站株洲网站平台搭建
  • 用node做的网站南宁网站定制开发
  • 做刷单网站犯法吗wordpress depth
  • 潍坊青州网站建设少儿编程app
  • 表白网站制作源代码自己怎么免费做网站网页
  • 开源网站建设是什么工作个人虚拟网站
  • 网站制作的一般过程优化关键词排名公司
  • 如何使用阿里云建设网站网站两边广告
  • 互联网信息服务小红书seo是什么意思
  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress