/*** 接口 interface:方法、属性或一段功能的“蓝本”*仅仅是规定实现的标准(抽象的)* 通常用于对类进行附加功能,可以让类本身保持简洁的定义* 通过实现1个或N个接口组合,来实现非继承的功能增强* *///接口定义:interface 接口名{属性或方法}interface Livable{ val hasSkill:Boolean} interface ChinaLivable{ //接口中属性只有类型定义,不可初始化 val hasJboffer:Boolean //接口中的属性可以有get,通常用于单纯增加一个常量属性 val visa:String get() = "工作签证" //接口中的变量属性 var city:String //接口中的方法 fun speakChinese() //接口中的方法可以有默认实现,通常指该方法的固定不变的 fun handleGuanxi(){ println("在中国非常重视人际关系") } var Bank:Int } open class Person{ var name=""}//继承父类,并实现多个接口class ForigenChinses:Person(),Livable,ChinaLivable{ override val hasSkill = true override val hasJboffer = true override var city = ",,," override fun speakChinese() { print("我叫${this.name}") } override var Bank=100} fun main(args: Array<String>) { val tom=ForigenChinses() tom.name="TOM" tom.city="上海" tom.speakChinese() tom.handleGuanxi() println(tom.visa) println(tom.hasSkill) }
时间: 2024-11-08 08:11:44