用 Scala .定义一个抽象类Car,一个字段 val CarBrand,为String类型;一个抽象方法info();一个greeting()方法: 内容为输出“This is your Car”.
时间: 2023-12-10 19:42:49 浏览: 62
以下是用 Scala 定义的抽象类 Car:
```scala
abstract class Car {
val CarBrand: String
def info(): Unit
def greeting(): Unit = {
println("This is your Car")
}
}
```
其中,`Car` 类有一个抽象字段 `CarBrand`,类型为 `String`,一个抽象方法 `info()`,以及一个实现方法 `greeting()`,该方法输出字符串 "This is your Car"。需要注意的是,由于 `info()` 方法是抽象的,因此在子类中必须进行实现。
相关问题
scala 中定义一个抽象类Car,一个字段 val CarBrand,为String类型;一个抽象方法info();一个greeting()方法: 内容为输出“This is your Car”. 2.定义类BMWCar,继承Car类,CarBrand为“BMW”;实现info()方法,输出整个车的品牌和价格;重写 greeting()方法,输出“This is my BMW car.” 3.定义类BYDCar,继承Car类,CarBrand为“BYD”;实现info()方法,输出整个车的品牌和价格;重写 greeting()方法,输出“This is my BYD car.” 4.定义单例对象MyCar,在其中定义一个名为myCar1的BMWCar对象,定义一个名为myCar2的BYDCar对 象,分别调用myCar1和myCar2的info()和greeting()方法
```scala
// 定义抽象类Car
abstract class Car {
val CarBrand: String
def info(): Unit
def greeting(): Unit = println("This is your Car")
}
// 定义BMWCar类,继承Car类
class BMWCar extends Car {
override val CarBrand: String = "BMW"
override def info(): Unit = println(s"This is a $CarBrand car and it costs $100000.")
override def greeting(): Unit = println("This is my BMW car.")
}
// 定义BYDCar类,继承Car类
class BYDCar extends Car {
override val CarBrand: String = "BYD"
override def info(): Unit = println(s"This is a $CarBrand car and it costs $50000.")
override def greeting(): Unit = println("This is my BYD car.")
}
// 定义单例对象MyCar
object MyCar {
def main(args: Array[String]): Unit = {
val myCar1 = new BMWCar()
val myCar2 = new BYDCar()
myCar1.info() // 输出 This is a BMW car and it costs 100000.
myCar1.greeting() // 输出 This is my BMW car.
myCar2.info() // 输出 This is a BYD car and it costs 50000.
myCar2.greeting() // 输出 This is my BYD car.
}
}
```
用scala语言定义一个名为Student的类,并输出step1.Student@1218025c!
scala代码如下:
```scala
class Student {
override def toString: String = "step1.Student@1218025c!"
}
val s = new Student()
println(s.toString)
```
输出结果为:
```
step1.Student@1218025c!
```