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

Scala的抽象类

时间:2024-10-21 09:50:54浏览次数:3  
标签:Scala 抽象 var 抽象类 def 属性

1.定义:抽象类是一个不能被实例化的类。无论在Scala中还是Java中都不可以直接创建对象,抽象类通过子类创建对象。

//抽象类:制定标准,不要求去具体实现
//abstract:抽象

abstract class AICar(){
  var brand =""
  //自动驾驶:不要去具体实现功能
    def autoRun
  }

//抽象类的作用:提供标准,使其他类来继承(实现)
class  XIAOPENG extends AICar{
    brand =  "小鹏"
  def autoRun(): Unit ={
   println("小鹏汽车的驾驶技术......") 
  }
}

object dd {
  def main(args: Array[String]): Unit = {
     //不能直接去new一个对象
    //var c1 = new AICar()
    var x1 = new XIAOPENG()
    x1.autoRun()
  }

}

2.Scala的抽象类成员

.Scala的抽象类成员包括成员的属性和方法。Scala的成员属性有抽象的和非抽象的(具体属性)。

具体属性 var ,val 属性名 = 值

抽象属性 var 属性名:类型

abstract class AICar(){
  //具体属性
  var brand =""
  //抽象属性
  var hasDriver:Boolean

具体方法:完整的,有方法体的。 def xxxx(){}

抽象方法:只有def方法名,没有方法体。

  //具体方法
  def stop():Unit={
    println("stop.......")
  }
  //抽象方法
  //自动驾驶:不要去具体实现功能
    def autoRun
  }

1.定义抽象类要用abstract关键字

标签:Scala,抽象,var,抽象类,def,属性
From: https://blog.csdn.net/2401_87076481/article/details/142999796

相关文章

  • Scala的内部类
    Scala的内部类是指定义在类或对象内部的类classCar{privatevarspeed=0//私有属性varcolor="black"defrun():Unit={println(s"runwith${speed}")}//内部类:写在类里面的类//1.定义一个类class......
  • 抽象类和接口
    1.为什么要有抽象类?目录1.为什么要有抽象类?对于一些类它只是对其子类的抽取,自己并不能表示一个对象,比如Animal类只是对动物行为和属性的提取,自己并不能表示一个对象,此时我们就可以用abstract关键字修饰这个类,那么这个类就只能被继承,自己不能创建出一个对象。我们把被abstra......
  • Scala继承和多态
    //定义一个类classAnimal(){println("父类Animal的构造器被调用")varlegs=4defsay():Unit={println("Animalsay....")}defrun():Unit={println("Animalrun....")}}//定义一个子类Dog,继承自父类Animal//继承的好处:(1)不劳而获cla......
  • Scala中reduce函数
    reduce()方法是一个高阶函数,它接受集合中的所有元素(数组,列表等),并使用二进制运算将它们组合以产生单个值。必须确保运算是可交换的和关联的。匿名函数作为参数传递给reduce函数。reduce作用:是一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。它通过指定的......
  • Scala的fold
    fold的解释为:对数组的每个元素执行指定的二元折叠操作。注意:fold与reduce和reduceleft的区别在于fold有一个初始值,在取值运算的过程中第一个元素需要与初始值进行运算,再一次进行下一步的运算。fold作用:fold是一种集合操作(与reduce类似),用于对集合中的元素进行聚合操作,返回一个......
  • Scala入门基础(12)抽象类
    抽象类,制定标准,不要求去具体实现               包含了抽象方法的类就是抽象类。抽象方法只是有方法名,没有具体方法体的方法定义抽象类要用abstract(抽象)关键字用智能驾驶技术举例:演示)具体属性var,val属性名=值;抽象属性var属性名:类型具体方法:完整......
  • python: invalid value encountered in divide以及invalid value encountered in doub
    运行命令pythoneqtl_prepare_expression.pydata.tpm.gctdata.reads_count.gct--tpm_threshold0.1--count_threshold2--sample_frac_threshold0.2--normalization_methodtmm--outputdata.txt时出现了报错“invalidvalueencounteredindivide”以及“invalidvalue......
  • java基础(6)抽象类和接口
    目录​编辑1.前言2.正文2.1抽象类2.1.1抽象类的概念2.1.2抽象类的语法2.1.3抽象类的特点2.1.4抽象类的作用2.2接口2.2.1接口的概念2.2.2接口的用法2.2.3接口的特点2.2.4实现多个接口2.2.5接口间的继承 2.2.6抽象类和接口的区别3.小结1.前言哈喽大家好吖,......
  • Scala多样的定义方法
    标准定义defsum(x:Int,y:Int):Int={x+y}新方式:字面量方式varsum1=(x:Int,y:Int)=>{x+y}//简写1,代码只有一句,可以省略{}varsum2=(x:Int,y:Int)=>x+y//简写2,形参可以使用占位符来代替varsum3:(Int,Int)=>Int=_+_/......
  • Scala 的链式风格
    Scala的链式风格通常指的是在代码中使用一系列的方法调用,这些方法调用通过点号(.)连接在一起,形成一条链。这种风格在函数式编程中非常常见,因为它可以提高代码的可读性和表达力。以下是一些Scala链式风格的示例:方法链:在对象上连续调用多个方法。valresult=someObject.met......