【Scala 】3. 类和对象

3. 类和对象

scala是一种面向对象的函数,其中一部分就是scala语言中支持类的实现。

3.1 类的继承

(1)基类(父类)

类中包含实现面积的计算方法

scala 复制代码
class Shape {  
  def getArea():Float = {  
    return 0  
  }  
}
(2)子类

子类继承父类的函数的实现,不再声明返回值类型,采用extends关键字;

但是面积的实现方式覆盖父类的实现,采用override关键字。

scala 复制代码
class Rect(a: Int, b: Int) extends Shape {  
  var length = a;  
  var width = b;  
  override def getArea(): Float = {  
    return length * width;  
  }  
  
}

上面的例子中声明一个类继承字Shape类,内部变量进行拓展。

  • 调用方式:类名.方法名(参数列表)
scala 复制代码
object test {  
  def main(args: Array[String]) = {  
    val rect = new Rect(7, 2);  
    
    println("the area of rectangle is " + rect.getArea());  
  }  
}
  • case类:不需要使用new关键字声明,直接访问内部变量。
相关推荐
starzy19908 小时前
深入理解Scala可变Map:动态构建场景下的性能与设计权衡
开发语言·scala
starzy199018 小时前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
starzy19901 天前
Scala 可变 Set 操作:从性能问题到最佳实践
大数据·scala
FPGA小迷弟2 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
starzy19902 天前
Scala Set深度解析:为什么大数据开发离不开它?
大数据·开发语言·scala
yingheceping3 天前
复旦微FPGA开发板厂商TOP5甄选榜:2026选型参考
fpga开发·fpga
starzy19903 天前
Scala List操作:不可变链表的函数式美学
链表·list·scala
starzy19904 天前
Scala String操作:从插值器到正则的完整指南
开发语言·后端·scala
starzy19904 天前
Scala Array操作:从定长数组到ArrayBuffer的完整指南
开发语言·后端·scala
starzy19905 天前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala