前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scala快速入门系列【抽象类】

scala快速入门系列【抽象类】

作者头像
大数据梦想家
发布2021-01-26 14:15:33
3360
发布2021-01-26 14:15:33
举报
文章被收录于专栏:大数据成长之路

本篇作为scala快速入门系列的第二十四篇博客,为大家带来的是关于抽象类的内容。


抽象类

和Java语言一样,scala中也可以定义抽象类。

定义

如果类的某个成员在当前类中的定义是不包含完整的,它就是一个抽象类

不完整定义有两种情况:

  1. 方法没有方法体(抽象方法
  2. 变量没有初始化(抽象字段

定义抽象类和Java一样,在类前面加上abstract关键字。

抽象方法

示例

  • 设计4个类,表示上述图中的继承关系
  • 每一个形状都有自己求面积的方法,但是不同的形状计算面积的方法不同

步骤:

  1. 创建一个Shape抽象类,添加一个area抽象方法,用于计算面积。
  2. 创建一个Square正方形类,继承自Shape,它有一个边长的主构造器,并实现计算面积方法。
  3. 创建一个长方形类,继承自Shape,它有一个长、宽的主构造器,实现计算面积方法。
  4. 创建一个圆形类,继承自Shape,它有一个半径的主构造器,并实现计算面积方法。
  5. 编写main方法,分别创建正方形、长方形、圆形对象,并打印它们的面积。

参考代码:


抽象字段

在scala中,也可以定义抽象的字段。如果一个成员变量没有初始化,我们就认为它是抽象的。

语法

示例

  1. 创建一个Person抽象类,它有一个String抽象字段WHO_AM_I
  2. 创建一个Student类,继承自Person类,重写WHO_AM_I字段,初始化为学生
  3. 创建一个Student类,继承自Person类,重写WHO_AM_I字段,初始化为学生
  4. 添加main方法,分别创建Student/Policeman的实例,然后分别打印WHO_AM_I

参考代码


本期的内容分享就到这里了,喜欢的小伙伴们记得点个赞,持续关注哟~下一篇将为大家带来匿名内部类的介绍,敬请期待٩(๑>◡<๑)۶

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 抽象类
    • 定义
      • 抽象方法
        • 抽象字段
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档