首页 > 其他分享 >Scala的抽象类

Scala的抽象类

时间:2024-10-27 19:45:51浏览次数:8  
标签:run Scala 子类 抽象 抽象类 方法 def

定义:抽象类是一个包含一个或多个抽象方法的类,抽象方法是不带任何实现的方法。

抽象类是为继承而生的类

目的:是为子类提供公共的接口和部分实现,并确保子类实现抽象方法和成员。

//定义抽象类
//抽象类是一个包含一个或多个抽象方法的类
//抽象方法:没有方法体,只有def和方法名
abstract  class AICar(){
//具体方法有
  def run():Unit = {
    println("run...")
  }
  //抽象方法
  def autoRun
}

//定义一个子类来实现(继承)抽象类
class Model3 extends AICar{
  //子类要实现所有的抽象方法
  def autoRun():Unit ={
    println("Model3的自动驾驶技术")
  }
}
object day15 {
  def main(args: Array[String]): Unit = {
    //抽象类,不能new
    //new AICar()
    val m1 = new Model3()
    m1.run()
    m1.autoRun()
  }

}

标签:run,Scala,子类,抽象,抽象类,方法,def
From: https://blog.csdn.net/2401_87129116/article/details/143113748

相关文章

  • 深入理解 Java 中的抽象类
    深入理解Java中的抽象类在面向对象编程中,抽象类是一个重要的概念,它为开发者提供了一种实现代码重用和规范设计的有效手段。本文将深入探讨抽象类的定义、特性、使用场景及其在Java编程中的实际应用。1.抽象类的概述1.1什么是抽象类?在Java中,抽象类是包含一个或......
  • 接口和抽象类的区别
    在面向对象编程中,接口和抽象类是两种常见的抽象化概念,用于定义类的行为和结构。本文将深入研究接口和抽象类之间的区别,包括它们的定义、用途、特点以及何时选择使用它们。1.定义接口:接口是一种纯粹的抽象概念,它定义了一组方法的契约,但不提供这些方法的实现。类可以实现一个......
  • 论文翻译 | Scalable Prompt Generation for Semi-supervised Learning with Language
    摘要         基于提示的学习方法在半监督学习(SSL)设置中已被文献证明在多个自然语言理解(NLU)数据集和任务上有效。然而,手动设计多个提示和表述词需要领域知识和人力投入,这使得在不同数据集上扩展变得困难且昂贵。在本文中,我们提出了两种方法来自动设计多个提示,并在......
  • 【java】抽象类和接口(了解,进阶,到全部掌握)
    各位看官早安午安晚安呀如果您觉得这篇文章对您有帮助的话欢迎您一键三连,小编尽全力做到更好欢迎您分享给更多人哦大家好我们今天来学习Java面向对象的的抽象类和接口,我们大家庭已经来啦~一:抽象类1.1:抽象类概念在面向对象的概念中,所有的对象都是通过类来描绘的,但是......
  • Scala的trait的用法
    ①只有抽象方法的trait②只有抽象成员和方法的trait③具体成员的变量和方法④对象继承特质例子://定义一个特质//特质可以有抽象属性,具体属性,抽象方法,具体方法traitBeauty{//抽象方法valhair:String//具体属性varage=18valheight=180//val不......
  • Scala的高阶函数
    高阶函数作用:把其他函数当做参数或返回值defmain(args:Array[String]):Unit={//定义数组,Array(1,2,3,4)vararr=Array(10,22,13,54)//定义一个数组有4个元素//println(arr(2))//获取第一个元素//遍历for(i<-arr)......
  • Scala的继承(不劳而获)
    Scala中继承的定义为在原有类的基础上定义一个新类,原有类称为父类,新类称为子类 定义:在原有的基础上定义一个新类,原有类称为父类,新类称为子类。class子类名extends父类名 {类体}【问】当子类从父类继承的方法不能满足需要时,子类需要有自己的行为,怎么办?此时使用ove......
  • Scala的多态
     从编译的角度解释Scala的多态含义:在执行期间而非编译期间确定所引用对象的类型,根据实际类型调用其方法。一个编译型语言有两种类型,分别为编译类型和运行类型。程序中定义的引用变量所指向的具体类型和通过该变量发出的方法调用在编译时不确定,而是在程序运行期间才确定的。cl......
  • Scala的sortedWith
    sortedWith:基于函数的排序,通过一个comparator函数,实现自定义排序的逻辑。sortWith方法:它使用传入的比较函数对集合进行排序。在排序过程中,根据比较函数的返回值来决定元素的顺序。如果比较函数返回true,则表示第一个参数应该排在第二个参数之前;如果返回false,则表示第一个参......
  • Scala的抽象类
    1.定义:抽象类是一个不能被实例化的类。无论在Scala中还是Java中都不可以直接创建对象,抽象类通过子类创建对象。//抽象类:制定标准,不要求去具体实现//abstract:抽象abstractclassAICar(){varbrand=""//自动驾驶:不要去具体实现功能defautoRun}//抽象类......