Scala快速入门--抽象类的使用

Posted 一只楠喃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala快速入门--抽象类的使用相关的知识,希望对你有一定的参考价值。

抽象类的实现

抽象类的设计

  • 类的继承设计:从类的根源设计,封装所有共同的特性,提高代码的复用能力
  • 普通的类:定义属性并赋值,定义方法并实现逻辑【给定方法体】,用于构建实例
  • 抽象类:属性和方法只定义,不实现具体的值和逻辑
    • 区别:不定义具体的内容就是抽象
    • 具体的方法的处理逻辑和属性的值由子类自己根据需求来实现

抽象类的定义

  • 关键字:abstract
  • 如果只定义属性名称,不赋值,该属性叫做抽象字段
  • 如果只定义方法名,不定义方法逻辑,该方法叫做抽象方法
  • 包含抽象字段或者抽象方法的类叫做抽象类
abstract class Person05 {
//具体的属性
//  var name:String = "itcast"
//  var age:Int = 20
//抽象的属性
var name:String
var age:Int

//具体的方法
//  def sayHello = println("Hello,Person ~")
//抽象的方法
def sayHello
}

抽象类的实现

  • 继承抽象类的子类要么实现所有抽象字段和抽象方法,要么自己本身也是抽象的

  • 实现抽象属性和方法

class Stduent extends Person05 {
  override var name: String = "student"
  override var age: Int = 18

  override def sayHello: Unit = println("Hello,Student ~")
}
继续抽象
abstract class Teacher extends Person05

点个赞嘛!![在这里插入图片描述](https://img-blog.csdnimg.cn/20210518181757342.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80ODE0Mzk5Ng==,size_16,color_FFFFFF,t_70)

以上是关于Scala快速入门--抽象类的使用的主要内容,如果未能解决你的问题,请参考以下文章

Scala快速入门--继承与重写的使用

Scala快速入门--Trait

Scala快速入门--类型转换与类型判断

Scala快速入门--样例类

Scala快速入门

Scala快速入门--偏函数