类的层级关系和作业布置|学习笔记

简介: 快速学习类的层级关系和作业布置。

开发者学堂课程【Scala 核心编程-基础:类的层级关系和作业布置】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8982


类的层级关系和作业布置

 

目录:

一、继承的层级关系图

二、继承层级图小结

三、课后习题

 

一、继承的层级关系图

image.png

Any 是所有类的父类,分成两大类,anyval 和 anyref。刚才讲的一系列关于继承,封装,多态,讲的就是other Scala classes。在整个集合里面,java 这个类是可以用的。图里的实线表示一个继承的关系,虚线代表一个隐式转换的关系。整个图代表的是一个层级关系。

 

二、继承层级图小结

1. 在 Scala 中,所有其他类都是 AnyRef 的子类,类似 java 的 object。

2. Anyval 和 AnyRef 都扩展自 Any 类。Any 类是根节点。

3.Any 中定义了 isInstanceOf、asInstanceOf 方法,以及哈希方法等。

4.Null 类型的唯一实例就是 null 对象可以将 null 赋值给任何引用,但不能赋值给值类型的变量。

5.Nothing 类型没有实例。它对于泛型结构是有用处的,举例:空列表 Nil 的类型是 List[Nothing],它是List[T]的子类型,T 可以是任何类。

 

三、课后习题

1.编写 Computer 类,包含 CPU、内存,硬盘等属性,getDetails 方法用于返回 Computer 的详细信息

编写 PC 子类,继承 Computer 类,添加特有属性【品牌 brand】

编写 NotePad 子类,继承 Computer 类,添加特有属性【颜色 color】编写 Test Object,在 main 方法中创建PC和NotePad 对象,分别对象中特有的属性赋值,以及从 Computer 类继承的属性赋值,并使用方法并打印输出信息。

按照 Scala 的方式来将其搞定。

2.定义员工类 Embloyee,包含姓名和月工资,以及计算年工资 getAnnual 的方法。普通员工和经理要求分别重写getAnnal 方法。

测试类中添加一个方法 showEmpAnnal,实现获取任何员工对象的年工资,并在 main 方法中调用该方法。

测试类中添加一个方法,testWork 如果是普通员工,则调用 work 方法,如果是经理,则调用 manage方法【10min】

3. 根据图实现类。在 TestCylinder 类中创建 Cylinder 类的对象,设置圆柱的底面半径和高, 并输出圆柱的体积。

(1)Circle (圆)

-radius :Double

Circle():构造方法,将 radius 私有属性初始化为1+setRadius(radius: Double)

+getRadius()

+findArea() 计算圆的面积

(2)Cylinder (圆柱)

-length:Double

Cylinder():构造方法,将 Iength 属性初始化为1

+setLength(length: Double)

+getLength()

+findVolume()计算圆柱体积

相关文章
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1125 152
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1794 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
719 152
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
494 5
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
671 14