33. 抽象类

作者: 写代码的向日葵 | 来源:发表于2019-10-02 15:52 被阅读0次

1.抽象类和实现类的定义如下:


/**
 * 人类:抽象类不用open关键字
 */
abstract class Human {
    /**
     * 肤色
     */
    open var color: String = "ajj"

    /**
     * 语言
     */
    abstract var language: String

    /**
     *吃饭
     */
    abstract fun eat()
}

//中国人
class ZhHuman : Human() {

    override var color: String = "黄色"

    override var language: String = "中文"

    override fun eat() {
        println("用筷子吃饭")
    }
}

//美国人
class UsHuman : Human() {
    override var color: String = "黑色"
    override var language: String = "英语"
    override fun eat() {
        println("用刀叉吃饭")
    }
}

//非洲人
class AfHuman : Human() {
    override var color: String = "黑色"
    override var language: String = "葡萄牙语"
    override fun eat() {
        println("用手吃饭")
    }
}

2.调用

fun main(args: Array<String>) {
    val zhHuman = ZhHuman()
    val usHuman = UsHuman()
    val afHuman = AfHuman()
    println(zhHuman, usHuman, afHuman)

}
fun println(vararg human: Human) {
    human.forEach {
        println(it.color)
        println(it.language)
        it.eat()
    }
}
  • 抽象类的类前面不用加open关键字
  • 抽象类中可以没有抽象方法
  • 如果想要重写抽象类中的非抽象方法,则需要在抽象类的非抽象方法和属性前面加上open关键字

3.抽象类总结

  • 抽象类可以继承抽象类
  • 抽象类反应的是事物的本质,只能单继承

相关文章

  • 33. 抽象类

    1.抽象类和实现类的定义如下: 2.调用 抽象类的类前面不用加open关键字 抽象类中可以没有抽象方法 如果想要重...

  • js.pattern -h 模板方法模式

    基于复用技术、抽象类-->继承抽象类 创建抽象类 实现抽象类

  • Simon | Equal Numbers of Student

    33. Universities should accept equal numbers of male and ...

  • Dart中的抽象类 多态 以及接口

    抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。 1、抽象类...

  • Dart 抽象类 多态 和接口

    抽象类 Dart中的抽象类:Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。抽象类通过a...

  • [Leetcode] 33. 搜索旋转排序数组

    33. 搜索旋转排序数组 来源: 33. 搜索旋转排序数组 1. 解题思路 二分法查找 2. 代码

  • Stray Birds

    33. Life finds its wealth by the claims of the world, and...

  • abstract关键字

    抽象类 PHP5 支持抽象类和抽象方法。抽象类不能被实例化,必须先继承该抽象类,然后实例化该抽象类的子类。抽象类中...

  • 抽象类

    什么是抽象类 抽象类的特征 抽象类的意义

  • 25.面向对象(抽象类. 多态)

    面向对象(抽象类. 多态) 一. 抽象类 抽象类不能实例化 继承抽象类的子类必须将抽象类中所有的抽象方法重写 抽象...

网友评论

    本文标题:33. 抽象类

    本文链接:https://www.haomeiwen.com/subject/fqcrpctx.html