Scala中的繼承,抽象,特質

2021-09-01 11:41:16 字數 1240 閱讀 4069

1. 繼承

// 父類

class person(val name:string, val age:int)

// 子類

// 如果希望使用子類中的值,去覆蓋父類中的值,需要加override關鍵字

class employee(override val name:string,override val age:int,val salay:int)

extends person(name,age)

object employee

}

執行結果

// 如果希望使用子類中的方法,去覆蓋父類中的方法,需要加override關鍵字

class employee(override val name:string,override val age:int,val salay:int)

extends person(name,age)

object employee

}}

執行結果

2. 抽象

// 使用抽象類。抽象類中包含抽象方法,抽象類只能用來繼承

// 父類

abstract class vihicle

class car extends vihicle

}class bysical extends vihicle

}object

}

執行結果

// 使用抽象字段,抽象字段就是乙個沒有初始值得字段

abstract class person

3. 特質(trait)

// trait就是抽象類。trait跟抽象類最大的區別就是trait支援多繼承,使用with關鍵字連線

// 第乙個抽象類

trait man

// 第二個抽象類

trait actions

// 子類,提供一主建構函式

class stu(val id:int, val name:string) extends man with actions ;

}// 測試類

object stu

}

執行結果

Scala中的抽象類

抽象類 抽象類中不一定有抽象方法或者抽象字段。有抽象字段或者抽象方法的類一定是抽象類。子類在實現抽象字段或者抽象方法的時候,不使用override。覆蓋方法 覆蓋的時候,一定使用override。覆蓋字段 抽象字段一定要有型別描述。覆蓋的時候,一定使用override。1 2 繼承 抽象類3 aut...

理解Scala中的抽象控制

在 快學scala 一書中,控制抽象被描述為是一系列語句的聚集,是一種特殊的函式,因為它是本質上只是對一系列語句的封裝,所以它理應 沒有引數輸入 沒有值返回。package com.zhengkw.scala.day03exc classname controlabs author zhengkw ...

Scala中的抽象類

抽象類 抽象類中不一定有抽象方法或者抽象字段。有抽象字段或者抽象方法的類一定是抽象類。子類在實現抽象字段或者抽象方法的時候,不使用override。覆蓋方法 覆蓋的時候,一定使用override。覆蓋字段 抽象字段一定要有型別描述。覆蓋的時候,一定使用override。1 2 繼承 抽象類3 aut...