zoukankan      html  css  js  c++  java
  • scala之抽象类

    在scala中是如何定义抽象类和抽象字段的呢, 抽象字段不能赋值,抽象方法不能有方法

    package cn.qianfeng
    
    object demo_Abstract {
        def main(args: Array[String]): Unit = {
            val t = new HuaweiTv
            t.powerOn()
            t.powerOff()
            println(t.logo)
        }
    
    }
    
    abstract class Tv{   //抽象类的创建
        var color:String = _       //非抽像字段,有赋初始值
        val logo:String           //抽像字段,可以不赋初始值
    
        def powerOn()   // 抽象方法的创建
        def powerOff() // 抽象方法的创建
    
        def show: Unit ={  // 非抽象方法的创建
            println("好电视!!")
        }
    
    }

    所以在子类中对于抽象类和抽象字段必须要实现重写

    package cn.qianfeng
    
    object demo_Abstract {
        def main(args: Array[String]): Unit = {
            val t = new HuaweiTv
            t.powerOn()
            t.powerOff()
            println(t.logo)
        }
    
    }
    
    abstract class Tv{   //抽象类的创建
        var color:String = _       //非抽像字段,有赋初始值
        val logo:String           //抽像字段,可以不赋初始值
    
        def powerOn()   // 抽象方法的创建
        def powerOff() // 抽象方法的创建
    
        def show: Unit ={  // 非抽象方法的创建
            println("好电视!!")
        }
    
    }
    
    class HuaweiTv extends Tv{
        override def powerOn(): Unit = {  // 重写父类方法
            println("华为电视开机")
        }
    
        override def powerOff(): Unit = {
            println("华为电视关机")
        }
    
        override val logo: String = "华为的Logo"
    }

    自此可以调用抽象类中的方法及字段了

  • 相关阅读:
    ADO数据库操作方式
    C++ 连接Oracle
    ADO 动态链接数据库
    C++连接Oracle之OCCI(windows)
    App测试经验分享之登录注册
    使用dpkg时,提示:dpkg:处理软件包XXX时出错
    性能测试指标及常用的监控工具[转]

    JMeter ——Test fragment
    JMeter设置Http代理对web或者app进行录制
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/15136963.html
Copyright © 2011-2022 走看看