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

旅游网站建设的课题研究的主要内容上海外贸网站推广服务

旅游网站建设的课题研究的主要内容,上海外贸网站推广服务,八亿建站,西安 网站托管接口 接口可以包含抽象方法的声明,也可以包含方法的实现。 接口与抽象类的不同之处在于,接口无法存储状态。接口可以拥有属性,但这些属性要么必须是抽象的,要么就得提供访问器的实现。 接口使用 interface 关键字来定义&#x…

接口

接口可以包含抽象方法的声明,也可以包含方法的实现。

接口与抽象类的不同之处在于,接口无法存储状态。接口可以拥有属性,但这些属性要么必须是抽象的,要么就得提供访问器的实现。

接口使用 interface 关键字来定义:

interface MyInterface {fun bar()fun foo() {// 可选函数体。}
}

实现接口

一个类或对象可以实现一个或多个接口:

class Child : MyInterface {override fun bar() {}
}

接口中的属性

你可以在接口中声明属性。接口中声明的属性可以是抽象的,也可以为访问器提供实现。接口中声明的属性不能有幕后字段,因此接口中声明的访问器也不能引用它们:

interface MyInterface {// 抽象属性。var prop: Intval prop2: Stringget() = "foo"var prop3: Stringget() = "foo"set(value) {println(value)}fun foo() {print(prop)}
}class Child : MyInterface {override var prop: Int = 29
}fun main() {val child = Child()child.prop = 10child.prop3 = "aaa" // aaa
}

接口继承

一个接口可以从其他接口派生,这意味着它既可以为其他接口的成员提供实现,也可以声明新的函数和属性。很自然地,实现这样一个接口的类只需要定义缺失的实现:

interface Named {val name: String
}interface Person : Named {val firstName: Stringval lastName: Stringoverride val name: String get() = "$firstName $lastName"
}data class Employee(override val firstName: String,override val lastName: String,val position: Position
) : Person

解决覆盖冲突

当你在超类型列表中声明多个类型时,你可能会继承同一个方法的多种实现:

interface A {fun foo() { print("A") }fun bar()
}interface B {fun foo() { print("B") }fun bar() { print("bar") }
}class C : A {override fun bar() { print("bar") }
}class D : A, B {override fun foo() {super<A>.foo()super<B>.foo()}override fun bar() {super<B>.bar()}
}

接口 AB 都声明了函数 foo()bar()。它们都实现了 foo() 方法,但只有 B 实现了 bar() 方法(A 中的 bar() 没有标记为抽象方法,因为在接口中如果函数没有方法体,默认就是抽象的)。现在,如果你从 A 派生出一个具体类 C,你就必须重写 bar() 方法并提供实现。

然而,如果你从 AB 派生出类 D,你需要实现从多个接口继承来的所有方法,并且需要明确指定 D 应该如何实现这些方法。这条规则既适用于你只继承了一种实现的方法(如 bar()),也适用于你继承了多种实现的方法(如 foo())。
B 派生出类 D,你需要实现从多个接口继承来的所有方法,并且需要明确指定 D 应该如何实现这些方法。这条规则既适用于你只继承了一种实现的方法(如 bar()),也适用于你继承了多种实现的方法(如 foo())。

http://www.dtcms.com/wzjs/593887.html

相关文章:

  • mooc网站建设cms 网站
  • 做网站如何团队分工兰州网站建设q479185700強
  • 云服务器可以用来做网站么wordpress 分享本文
  • 网站制作公司哪家专业绥阳网站建设
  • 做羞羞的事的视频网站系统开发需要的技术
  • 做网站能改吗做健康类网站怎么备案
  • 网页设计制作网站大一素材中国建设报名系统官网
  • 人才网站建设加强志鉴网站建设
  • 重庆商会网站建设郑州做网站哪里好
  • 网站建设与制作段考试题wordpress 小程序 商城
  • 自由设计师网站如何做防水网站
  • 导航网站移动端流量占比网站建设客户
  • 域名及网站建设实验报告wordpress主板不显示内容
  • 网站怎么建设商城网页游戏魔域永恒
  • 白云网站建设学校网站建设的必要性
  • 上海杨浦网站建设wordpress 过时
  • 在哪些网站能接到活做archlinux wordpress
  • 胶州网站建设电话做试客需要去哪些网站
  • 网站开发区书籍做网站 属于电子商务
  • codeigniter 手机网站开发海口建站价格
  • 专做尼泊尔的旅行网站沧州网络
  • 防疫大数据平台网站seo优化技术入门
  • 山东跨境电商建站公司长沙ui设计公司
  • 网站模版购买wordpress后台登录慢
  • 数字校园建设专题网站旅游网页设计图
  • 服务器关闭 网站被k淘金网站建设
  • 实惠的网站建设公司做一份网站动态图多少钱
  • 河北省邢台市建设工程网站西宁设计网站建设
  • 怎样在网站上做链接站长工具seo综合查询引流
  • 专注电子商务网站建设汕头seo全网营销