diff --git a/src/class/AbstractClass/Cat.kt b/src/class/AbstractClass/Cat.kt index e7112be..2955c6f 100644 --- a/src/class/AbstractClass/Cat.kt +++ b/src/class/AbstractClass/Cat.kt @@ -1,11 +1,12 @@ package `class`.AbstractClass -class Cat: Animal() { +class Cat(color: String): Animal() { + private var color = color override fun getName(name: String) { - println("name = $name") + println("color = $color,name = $name") } } fun main(args: Array) { - Cat().getName("猫") + Cat("红色").getName("猫") } \ No newline at end of file diff --git a/src/class/Interface/Animal.kt b/src/class/Interface/Animal.kt new file mode 100644 index 0000000..dd35f56 --- /dev/null +++ b/src/class/Interface/Animal.kt @@ -0,0 +1,12 @@ +package `class`.Interface + +/** + * 接口 + */ +interface Animal { + fun setColor(color: String) + + fun setName(name: String) + + fun say() +} \ No newline at end of file diff --git a/src/class/Interface/Cat.kt b/src/class/Interface/Cat.kt new file mode 100644 index 0000000..5d1b9c4 --- /dev/null +++ b/src/class/Interface/Cat.kt @@ -0,0 +1,25 @@ +package `class`.Interface + +class Cat : Animal { + private var color: String? = null + private var name: String? = null + + override fun setColor(color: String) { + this.color = color + } + + override fun setName(name: String) { + this.name = name + } + + override fun say() { + println("name = ${this.name}, color = ${this.color}") + } +} + +fun main(args: Array) { + var cat = Cat() + cat.setName("猫") + cat.setColor("橘色") + cat.say() +} \ No newline at end of file