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

江苏省住房与城乡建设部网站做网站给源码吗

江苏省住房与城乡建设部网站,做网站给源码吗,wordpress 批量换,要加强网站内容建设本片博客主要写创建对象,创建接口,创建抽象类,data关键字的作用 创建对象 如何声明一个对象,使用class关键字 格式为: class 对象名字(对象属性名:属性类型…){} 如果对象没有函数…

本片博客主要写创建对象,创建接口,创建抽象类,data关键字的作用

创建对象

如何声明一个对象,使用class关键字
格式为:
class 对象名字(对象属性名:属性类型…){}
如果对象没有函数的话,可以不写大括号
下面是声明一个对象的最简单写法

//定义一个对象,对象名字是People,包含三个属性,身份证号,姓名,年龄
class People(var idNumber:String, var name:String, var age:Int)

下面创建一个有函数(对象行为)的对象

class People(var idNumber:String, var name:String, var age:Int){fun learn(){println("$name 同学会学习")}fun dou(){println("$name 同学会逗笑")}fun song(){println("$name 同学会唱歌")}
}

下面说一下我对于对象里面创建变量的简单理解。
首先是Kotlin会默认创建构造函数和get()set()方法。所以不需要开发者自己写get()和set()方法。
如果非要自己写,我看了半天,想要实现不给默认值就定义一个变量,好像只能变成抽象类。
创建对象不在括号定义变量
我自己尝试创建对象不在括号定义变量。这里就直接报错了,IDEA给出了4个解决方案,1是设置默认值,2是变成抽象类里面的抽象变量,3是移动到构造函数中(就是移动到对象名后面的括号里面)4是添加get和set方法(也是需要设置默认值的)。

创建一个接口

首先确定一个概念,接口指的是事物的能力。
能力就是说能够干什么。
一般我是用来连接两个独立的对象互相调用函数使用的。
定义一个接口有几个注意事项:
1.接口没有构造函数,所以接口名后面不能有括号。但是可以定义一个没有默认值的变量。
2.定义一个接口使用interface关键字
3.接口里面的参数不能直接调用
下面看一下一个接口的简单写法

interface IHuman {var name:Stringfun say(){println("$name 在说话")}fun song()
}

创建一个抽象类

首先确定一个概念,抽象类指的是事物的本质。
本质就是说这个事物有固定属性。
1.抽象类必须用abstract 关键字
2.抽象函数必须没有函数体

 abstract class WoMan(var bb:String) {//抽象变量abstract var aa:Intfun goodGoodStudio(){println("好好学习")}//有abstract 标识的函数,必须没有函数体abstract fun dayDayUp()
}

继承和实现

实体对象父类是接口类,叫做“实现”
实体对象父类是抽象类,叫做“继承”
1.实体对象如果“继承”了抽象类,就必须重写没有默认值的抽象变量和抽象函数
2.实体对象如果“实现”了接口类,就必须重写接口类里面的所有变量和没有方法体的函数

class Lady(override var name: String, bb: String, override var aa: Int) : WoMan(bb),IHuman {override fun dayDayUp() {TODO("Not yet implemented")}override fun song() {TODO("Not yet implemented")}
}

总结:
1.接口类用interface 定义
2.抽象类用abstract 定义
3.重写变量和函数的关键字是override

data关键字

还有一个关键字,就是data,在定义对象的时候可以使用这个关键字修饰。
有以下注意事项:
1、主构造函数必须要至少有一个参数
2、主构造函数中的所有参数必须被标记为val或者var
3、数据类不能有以下修饰符:abstract,inner,open,sealed
有以下方便点。
1、toString函数会被复写为打印具体属性的值
2、新增components方法 , 获取构造函数中第几个参数的值
3、新增copy方法 , 可以用来修改具体属性的值
4、重写了hashCode方法 , 不再比较对象引用 , 而是比较对象的值

fun main(args: Array<String>) {var stu = Student("大班",12,170,56.0,"1202251993", "名字", 18)var stu1 = Student("大班",12,170,56.0,"1202251993", "名字", 19)//1.直接打印对象println(stu)//2.使用components 获取构造函数中第几个参数的值。//注意直接(.)不出来component,需要自己敲几个字母才能联想出来println(stu.component1())//3.调用copy函数复制一个对象给新的对象,而且可以复制的时候直接指定某个参数为新的值var stu2 = stu.copy(age = 30)println(stu2)//4.直接对比对象是否相等println(stu == stu1)
}
http://www.yayakq.cn/news/75239/

相关文章:

  • python做的网站有哪些网站高端设计公司哪家好
  • 企业网站建设情况说明建设网站的基本流程
  • 金凤区建设交通局网站北京网站制作设计
  • 自建网站营销是什么做平面计设和网站哪个好
  • 设计师网站都有哪些重大新闻事件
  • 织梦唯美网站源码零食软文范例300字
  • 莱阳有网站建设推广的吗注册企业有哪些基本流程
  • 吉隆网站建设浙江建设厅网站
  • 网站建设需注意点吾爱主题wordpress
  • 免费换友情链接天津seo
  • 为什么要做手机网站开发三亚网站怎么制作
  • asp网站好还是php网站好给别人做网站打电话推销
  • 搭建网站账户系统网站开发及代运营
  • 系统网站哪个好个人网站做导购要什么经营许可
  • 太仓网站建设有限公司教育网站制作论文
  • 西地那非片云南网站seo外包
  • 郑州做网站擎天凡科做网站是否安全
  • 做网站的职员称呼什么什么网站代做毕业设计比较好
  • 网站建设金手指专业周口网站优化
  • 新农村建设网站知乎宁波品牌网站设计特点
  • DW怎么做网站下拉菜单上海企业建站提供商
  • 外贸网站建设公司流程图wordpress万篇文章
  • 好看的网站页面设计兰州出台9条优化措施
  • 鹤壁市网站建设百度建站
  • 网站建设工作自策划实施以来合肥市建设工程市场价格信息网站
  • 照片制作网站贵阳网站建设公司哪个好
  • 给网站开发一个计算器功能影视文化传媒公司网站建设
  • 正邦设计董事长外贸网站如何做seo
  • 网站logo大全金山专业网站建设
  • 网站备案后 还是需要再备案吗一个网站的成本