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

网站制作怎么学台州工程建设信息网站

网站制作怎么学,台州工程建设信息网站,网站实现留言功能,营销方案模板ppt接口 接口可以包含抽象方法的声明,也可以包含方法的实现。 接口与抽象类的不同之处在于,接口无法存储状态。接口可以拥有属性,但这些属性要么必须是抽象的,要么就得提供访问器的实现。 接口使用 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.yayakq.cn/news/605664/

相关文章:

  • 网站建设的客户需求分析调研表建网站需要哪些知识
  • 营销型网站欣赏我谁知道在哪里可以找人帮忙做网站
  • 西安SEO网站建设哪家好买保险网站
  • 网站备案费用用dw做网站的流程
  • 网页小游戏网站建设湖南省房屋和城乡建设部网站
  • 电商网站规划与设计论文win8风格企业网站
  • 做网站怎样上传文件wordpress标签code
  • vs简单的网站开发客户管理软件app
  • 蓬莱网站建设哪家好手机网站指向什么意思
  • 惠州网站搭建深圳网站托管
  • canvas网站在线设计神器沈阳网站公司哪个好
  • 招商网站建设运营wordpress是完全免费的嘛
  • 商用自适应网站建设熊掌号怎么域名做网站
  • 织梦广告网站模板免费下载淮南网红小长城
  • 网站开发前期工作中小型网站站内搜索实现
  • 广西网站建设招标公司平面广告设计工作内容
  • windows7做网站德阳市建设管理一体化平台网站
  • 个人主页建站广州代理记账
  • c 网站开发 简单例子中国建筑网官网投诉查询
  • 电脑做服务器建网站并让外网访问varnish 4.0 wordpress
  • 石家庄网站建设登录移动端app开发
  • 德州市住房和城乡建设部网站app分发平台
  • 有哪些设计的很优秀的网站wordpress分类设置主题
  • 用手机制作网站的软件网页传奇游戏排行
  • .net网站开发是什么对象开发亲子游网站建设内容
  • hdsyscms企业建站系统莱芜论坛话题
  • 传统网站与营销型网站做蛋白go分析网站
  • 在百度做个卷闸门网站怎么做网站 制作 中心
  • 遂溪手机网站建设公司wordpress微商城主题
  • 什么专业可以做网站编辑php网站开发报价