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

小白学做网站买什么书网站美工和平面设计

小白学做网站买什么书,网站美工和平面设计,服饰网站建设规划书,Divi WordPress企业建站主题文章目录 什么是类类的属性类的方法#xff08;行为#xff09;构造函数主构造次构造 类的实例化#xff08;对象#xff09;伴生对象this 什么是类 在 Kotlin 中#xff0c;变量类型都是类#xff0c;像我们常见的Int、String等等#xff0c;都是类。 为什么要分类行为构造函数主构造次构造 类的实例化对象伴生对象this 什么是类 在 Kotlin 中变量类型都是类像我们常见的Int、String等等都是类。 为什么要分类其实原因很多就像有些时候只要提起猫你的脑海中立马浮现出猫捉老鼠、猫吃鱼······至少不是汪汪叫的猫。有了猫这一类别我们就能很容易地将其与它所拥有的行为、特点联系起来。还有些情况像是一个巨大的图书馆如果各种书都没有一定规律地堆放在一起我们很难去找到我们想要的书。 在 Kotlin 中使用class去定义一个类 class 类名 { 属性/方法 }我们能够像描述一只猫一样去定义一个类这样就足够了 class Cat类名首字母需要大写而一般情况下变量和函数采用驼峰命名首个单词小写后面如果有其他单词首字母大写 class MyClassval myVariable 变量fun myFun() {}类的属性 属性例如一只猫是什么颜色的有多高喜欢吃什么就是用于描述类状态的一系列变量。直接将其定义于类中即可 class Cat {val name: String 小橘 }类的方法行为 方法或者叫函数可定义该类所具有的行为 class Fishclass Cat {fun eat(fish: Fish) {} }构造函数 构造函数可以让我们在初始化类对象将猫这一类具体到某一只猫上时传入参数或者直接在构造函数中声明类的属性。 主构造 可以在类名后加一个小括号并写入对应的参数、属性。这与函数类似 class 类名([[val|var] 属性名: 类型], [参数名: 类型], ...) { 属性/方法 }我们可以给猫定义一些属性 class Cat(var name: String, val color: String)也可以给它们设置默认值 class Cat(var name: String, val color: String 橘色)我们也可以使用lateinit var将其定义于类中并使用init和参数将其初始化constructor可省 class Cat constructor(var name: String, colorParam: String) {lateinit var color: Stringinit {color colorParam} }或者是直接将color赋值为colorParam class Cat(var name: String, colorParam: String) {val color colorParam }NoteKotlin 中可以使用lateinit关键字修饰可变变量这样变量就可以暂时不用赋值。但是在使用时如果还未赋值就会抛出异常kotlin.UninitializedPropertyAccessException。lateinit不支持基本类型Primitive Types包含数字、字符和可空类型。 // 这些是不被允许的 // 数字 lateinit var byte: Byte lateinit var short: Short lateinit var int: Int lateinit var long: Long lateinit var float: Float lateinit var double: Double lateinit var boolean: Boolean // 字符 lateinit var char: Char // 任何可空类型 lateinit var nullableAny: Any?次构造 很多时候主构造并不能满足我们的需求我们可以再定义次构造。次构造使用constructor声明必须基于主构造使用this()调用主构造。 class Cat(val name: String, val color: String) {constructor(name: String): this(name, 橘色) {} }fun main() {val myCat Cat(小橘)println(${myCat.name} 是 ${myCat.color} 的) }小橘 是 橘色 的类的实例化对象 可以像调用函数一样调用它生成Cat对象使用.即可访问对象的属性或方法行为 class Cat(val name: String, val color: String)fun main() {val myCat Cat(小橘, 橘色)print(${myCat.name} 是 ${myCat.color} 的) }小橘 是 橘色 的伴生对象 对象实例化后每个对象都拥有自己的属性值例如两个Cat对象可能有不同的color。如果我们要声明一些该类所有对象都共有的并且是不受对象影响的属性或方法可以借助companion object来定义 class Cat {companion object {const val FAMILY 猫科} }Note在定义不可变的顶层变量文件中的最外面或对象变量object时如果该变量为基本类型Primitive Types包含数字、字符或String则建议使用const关键字修饰。特别地如果该变量为对象变量IDEA会提示需要将变量名改为全大写 object Object {const val NAME 一个单词直接全大写const val A_MULTI_WORDS_NAME 多个单词需要加下划线分割 }我们可以通过以下两种方式来访问该属性通常采用Cat.FAMILY fun main() {println(Cat.FAMILY)print(Cat.Companion.FAMILY) }猫科 猫科本质上是定义一个对象object默认名称为Companion我们可以指定该对象的名称这并不影响我们使用它 class Cat {companion object CatCompanion {const val FAMILY 猫科} }fun main() {println(Cat.CatCompanion.FAMILY)print(Cat.FAMILY) }猫科 猫科甚至可以继承Kotlin 中使用: 被继承类()表示继承这将在后续文章提到 class Cat {companion object CatCompanion: Base() {const val FAMILY 猫科} }open class BaseKotlin 并不支持使用对象来访问伴生对象的属性或方法 fun main() {val cat Cat()// cat.FAMILY 这是错误的 }this Kotlin 类中可以使用this指定类中的属性或方法这在很多时候是可以省略的。如果有时候出现混淆可以通过使用this避免这一情况 class Cat(var name: String) {fun changeName(name: String) {// 函数参数的 name 与 Cat 的 name 并不是同一个// 使用 this.name 指定 Cat 的 name// 如果不指定默认会访问到最小范围内的 name// 这里的最小范围是函数作用域中的 namethis.name name} }伴生对象中的this只能访问到伴生对象的属性或变量因为它是独立于类对象的 class Cat(var name: String) {companion object {const val FAMILY 猫科fun test() {this.FAMILY// this.name 错误的}} }在扩展函数中使用 class Cat(var name: String)fun Cat.speck() {print(${this.name}: 喵喵喵) }fun main() {Cat(小橘).speck() }小橘: 喵喵喵
http://www.hkea.cn/news/14397718/

相关文章:

  • 北京住房建设部官方网站西宁城西区建设局网站
  • 网站模块功能东莞横沥网站制作
  • 做普通网站公司吗如果给公司网站做网络广告
  • 有没有做装修的大型网站而不是平台网站建设桔子科技
  • 北京建站公司哪个好wordpress 后台好卡
  • 纪检监察网站建设的意义婚纱摄影网站模板之家
  • 网站更新方法做推广适合哪些网站吗
  • 新建南昌网站建设公司wordpress发号系统
  • 建网站图片怎么找金隅嘉华大厦网站建设公司
  • 织梦 营销型网站wordpress分页问题
  • 小语种建网站建设百度广告联盟点击一次多少钱
  • 怎么删除网站里的死链接网站开发有什么好的论坛
  • 网站建设收费详情网站布局
  • 做母婴的网站有哪些北京acc网站建设
  • 广告手机网站制作沈阳网站网页
  • 深圳公司设计网站滨州网站建设招聘
  • 专业品牌网站建设莱芜杂谈莱芜话题
  • 网站服务器租赁费用表格wordpress按钮支付
  • 网站锚文本使用查询平台seo
  • 网站建设彩铃设计吧
  • 重庆好的网站建设培训机构怎么找
  • 长沙网站优化指导网站设计app
  • 马蜂窝是什么做的网站施工企业工程施工科目
  • 昆山教育云平台网站建设wordpress底部悬浮导航
  • 深圳做积分商城网站建设编程软件自学网
  • 企业网站建设应该网站优化有哪些
  • 福州电子网站建设网站营销推广如何做
  • 做单页面网站网站设计报告模板及范文
  • 做网站建设公司网易互客网站颜色背景代码
  • 网站横幅图片建设网站大概要花多少钱