当前位置: 首页 > article >正文

【Scala 】3. 类和对象

3. 类和对象

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

3.1 类的继承

(1)基类(父类)

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

class Shape {  
  def getArea():Float = {  
    return 0  
  }  
}
(2)子类

子类继承父类的函数的实现,不再声明返回值类型,采用extends关键字;
但是面积的实现方式覆盖父类的实现,采用override关键字。

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

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

  • 调用方式:类名.方法名(参数列表)
object test {  
  def main(args: Array[String]) = {  
    val rect = new Rect(7, 2);  
    
    println("the area of rectangle is " + rect.getArea());  
  }  
}
  • case类:不需要使用new关键字声明,直接访问内部变量。

http://www.kler.cn/a/230197.html

相关文章:

  • 数据库(总结自小林coding)|索引失效的场景、慢查询、原因及如何优化?undo log、redo log、binlog 作用、MySQL和Redis的区别
  • 解决 vxe-table v3.9 + iview 或者 view-design 中使用 Select 后无法选中的问题
  • .NET9 - Swagger平替Scalar详解(四)
  • 【Unity3D】创建自定义字体
  • 一个专为云原生环境设计的高性能分布式文件系统
  • SpringBoot 项目中使用 spring-boot-starter-amqp 依赖实现 RabbitMQ
  • Linux(三)--文件系统
  • linux中的gdb调试
  • 【Spring Boot】第一篇 创建简单的Spring Boot项目
  • [基础IO]文件描述符{重定向/perror/磁盘结构/inode/软硬链接}
  • homeword_day1
  • 高清符合要求的SCI图片使用RStudio导出
  • NLP_循环神经网络(RNN)
  • AES算法:数据传输的安全保障
  • 20240202在Ubuntu20.04.6下使用whisper.cpp的CPU模式
  • 用python编写爬虫,爬取房产信息
  • axios get 请求 url 转码 空格转成+,导致请求失败(前端解决)
  • 备战蓝桥杯---搜索(进阶3)
  • Unicode常用属性
  • WebChat——一个开源的聊天应用
  • 阿里云游戏服务器收费价格表,一年和1个月报价
  • Unity动画循环偏移的使用
  • Idea:Idea导入Module、子Module的方式及其可能遇到的问题
  • 【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境
  • 【python】绘制爱心图案
  • Docker 面试题 100 道