Scala中的抽象类

2023-11-12

1.先看下 类的层次结构:

类层次结构,也称为类分类法,是一组相关的类,它们通过继承连接起来做类似的事情。

层次结构的顶部可以是一个基类,它下面的所有其他类都是从中派生出来的,或者层次结构可以有多个基类,这些基类的功能稍后会在一个或多个派生类中合并在一起。

 

1.Scala中的类层次结构

 

 

2.Scala中抽象类的概念

 

简单讲在Scala中 一个被abstract 修饰的类, 类中包含没有实现的成员,即对象没有初始值,定义的方法没有方法体,则该类就是抽象类。

 

 

eg:

abstract class absClass{
  val name:String
  def speak()
//可以定义具体方法
  def info(): Unit ={
    printf("this people's name is %s", name)
  }
}

ps: 如果声明抽象字段,则一定需要指定对象的数据类型

Scala中 在抽象类中定义抽象对象或抽象方法 不需要abstract 修饰

并且 Scala中的抽象类中 可以定义具体方法,跟Java区别

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala中的抽象类 的相关文章

随机推荐

  • 嘉立创PCB CAM软件

    概述 在PCB CAM软件中 Genesis2000 UCAM CAM350等国外软件占了大壁江山 其中的Genesis2000更是占了绝对份额 而中国却没有一款成熟可用的PCB CAM工业软件 根据公开资料显示 中国是PCB的制造大国 2
  • 快速学习Flutter

    文章目录 写在前面 Flutter官网 Flutter基本知识 Flutter 的特性 Flutter Windows环境搭建 查看文档时有几点注意 1 中国镜像地址 2 搭建 Android 开发环境 3 Flutter SDK Flut
  • MyCAT实现MySQL的读写分离

    在MySQL中间件出现之前 对于MySQL主从集群 如果要实现其读写分离 一般是在程序端实现 这样就带来一个问题 即数据库和程序的耦合度太高 如果我数据库的地址发生改变了 那么我程序端也要进行相应的修改 如果数据库不小心挂掉了 则同时也意味
  • 全排列、子集合subset、目标和combation、树的路径和问题

    主要的方法 深度优先搜索 回溯算法 宽度优先搜索 是否有相同元素需要考虑等问题 针对所给问题 确定问题的解空间 首先应明确定义问题的解空间 问题的解空间应至少包含问题的一个 最优 解 确定结点的扩展搜索范围 for等一系列循环等问题 以深度
  • matlab如何读取一个文件夹下所有文件,Matlab获取一个文件夹下所有文件名

    Matlab获取一个文件夹下所有文件名 fileFolder fullfile D MATLAB bin trc dirOutput dir fullfile fileFolder trc fileNames dirOutput name
  • 解决IDEA中ctrl+shift+f快捷键搜索没反应的问题

    文章目录 0写在前面 1 问题解决 1 1 直接切换英文输入法 1 2 win10 输入法 1 3 搜狗输入法 1 4 其他 2 写在末尾 0写在前面 今天想使用 在文件中查询 功能 使用ctrl shift f进行搜索的时候 疯狂的按组合
  • keil CMSIS_DAP.DLL missing

    由于keil版本支持问题 可以下载以下版本的CMSIS DAP DLL进行替换 CMSIS DAP DLL官方下载地址 百度云下载 提取码 g8ia keil安装目录如 D Keil v5 ARM BIN 先删除原来的CMSIS DAP D
  • MySQL存储过程遍历游标用loop嵌套循环的例子

    CREATE DEFINER root PROCEDURE procInitData IN sId1 INT IN sId2 INT IN sId3 INT IN sId4 INT IN sId5 INT IN sId6 INT IN sI
  • 函数调用约定cdecl、stdcall、fastcall

    我们在编写代码的时候都会调用函数 有点函数有多个参数 例如 int test int a char b char c 上面的函数调用方式是test 10 c tinus 那么这个函数编译器是怎么知道有多少个参数 参数类型是什么了 因为函数调
  • 基于FPGA的LCD1602驱动(含代码)

    目录 LCD1602显示原理 LCD1602接口 LCD1602操作时序 1 读操作时序 2 写操作时序 LCD1602初始化 LCD1602读写数据 LCD1602显示原理 将LCD显示屏与FPGA连接之后 需要做的第一件事就是进行LCD
  • Redis底层封装细节

    日常我们程序员在使用redis做缓存的时候 很少会直接使用到RedisTemplate直接操作k v键值对 而是通过对RedisTemplate原生代码的封装 来构建我们日常便于使用习惯的代码来操作数据 这里我分享一下日常基本的对Redis
  • 【华为OD机试】矩阵元素的边界值【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 给定一个N M矩阵 请先找出M个该矩阵中每列元素的最大值 然后输出这M个值中的最小值 输入描述 无 输出描述 无 备注 N和M的取值范围均为 0 100 用例1 输入
  • umi+dva+antd后台管理系统(3)---完整登录逻辑

    源码在这儿MyGithub 觉得不错留颗小星星哦 界面准备好啦 开始写登录 1 回顾一下redux是什么 redux 是一个应用数据流框架 主要解决了组件间状态共享的问题 原理是集中式管理 可以让数据更可控 react 中所有数据处理都在
  • JS加减乘除位移方法封装

    常用加减乘除等方法汇总 直接上代码 逻辑简单 代码如下 div 加减乘除位移方法汇总 div
  • 轨迹预处理(轨迹压缩)

    轨迹压缩分为在线压缩和离线压缩两类 在介绍两类压缩算法之前 本文先介绍两种 距离度量 方法 第一种距离度量方法是 垂直的欧几里得距离 如图b所示 p1 p7 p12作为压缩后的点 垂直度量 则为做垂线计算 第二种距离度量方法是 时间同步的欧
  • Dynamics CRM2011 导入解决方案报根组件插入错误的解决方法

    今天在还原一个老版本的解决方案 在导入时报根组件插入问题 Cannot add a Root Component 38974590 9322 e311 b365 00155d810a00 of type 31 because it is n
  • android: ERROR: unknown virtual device nam

    环境变量 ANDROID SDK HOME your path 设置好就没有问题了
  • 刷脸支付服务商为各行各业提供完美体验

    随着刷脸支付技术迭代更新的速度加快 其商业化应用的步伐也越来越快了 4月17日 支付宝推出第二代基于线下消费场景的刷脸支付机具 蜻蜓2 0 定价1499元 同时 新一代蜻蜓还实现了刷脸注册会员卡的功能 切中了苦于获客高成本的线下零售门店的需
  • pve 使用noVNC num lock 不同步的问题

    问题描述 在使用 pve 的noVNC 控制台 访问 WINDOWS 虚拟机时 VM 会出现num lock 状态不同步的情况 主要是由于WINDOWS 笔者这里是 SERVER2022 启动后默认关闭了 num lock 而 pve的虚拟
  • Scala中的抽象类

    1 先看下 类的层次结构 类层次结构 也称为类分类法 是一组相关的类 它们通过继承连接起来做类似的事情 层次结构的顶部可以是一个基类 它下面的所有其他类都是从中派生出来的 或者层次结构可以有多个基类 这些基类的功能稍后会在一个或多个派生类中