1.题目如下

封装,定义setter和getter方法用于存值和取值

定义人类Person,
(1)字段:身份证号idCard,姓名name,性别gender,年龄age,职业profession,联系方式phone.
并定义相应的属性;
(2)定义方法message()输出个人的基本信息
(3)定义无参构造函数,并打印一句话,输出“我是人类”

定义一个教师类Teacher,继承于人类;
(a)具有字段:职工号empID,所教授的课程名curriculum,所属院系academy,并定义相应的属性
(b)定义有参和无参构造函数。
(c)定义一个普通方法teach(),输出我是教学的.

定义一个数学教师类MathTeacher,继承于教师类;
(a)重写父类的teach();输出我是从事数学教学的;
(b)定义无参构造函数。再写一个带参数的构成函数MathTeacher(String name)
(c)有两个重载方法,ready(),ready(String scource);

定义一个英语教师类EnglishTeacher,继承于教师类;
(a)重写父类的teach();输出我是从事英语教学的。
(b)定义无参构造函数。再写一个带参数的构成函数EnglishTeacher(String name),并显式调用父类的带参构造方法
(c)有两个重载方法,write(),write(String scource);

代码:

1.定义人类Person

package mx2.Demo.wordimport scala.beans.BeanProperty/**一、* 定义人类Person,* (1)字段:身份证号idCard,姓名name,性别gender,年龄age,职业profession,联系方式phone. 并定义相应的属性;* (2)定义方法message()输出个人的基本信息* (3)定义无参构造函数,并打印一句话,输出“我是人类”*/
class Person2 {println("我是人类")@BeanPropertyvar idCard:String = _//身份证号@BeanPropertyvar name:String = _//姓名@BeanPropertyvar gender:Char = _//性别@BeanPropertyvar age:Int = _//年龄@BeanPropertyvar profession:String=_//职业@BeanPropertyvar phone:Int = _//联系方式def message(): Unit ={println("身份证号"+idCard+"姓名"+name+"性别"+gender+"年龄"+age+"职业"+profession+phone)}}

2.教师类Teacher

package mx2.Demo.wordimport scala.beans.BeanPropertyclass Teacher1 extends Person2(){def this(empID:String,curriculum:String,academy:String){this()this.empID = empIDthis.curriculum = curriculumthis.academy = academy}@BeanPropertyvar empID:String = _ //职工号@BeanPropertyvar curriculum:String = _//课程名@BeanPropertyvar academy:String = _//院系def teach(): Unit ={print("我是教学的")}}

3.数学教师类MathTeacher

package mx2.Demo.word/****定义一个数学教师类MathTeacher,继承于教师类;
(a)重写父类的teach();输出我是从事数学教学的;
(b)定义无参构造函数。再写一个带参数的构成函数MathTeacher(String name)
(c)有两个重载方法,ready(),ready(String source);*/
class MathTeacher extends Teacher1{def this(name:String){this()this.name = name}override def teach(): Unit ={println("我是从事数学教学的")}def ready(): Unit ={print("我在教学生读")}def ready(source:String): Unit ={print("我在"+source+"教学生读")}}

4.英语教师类EnglishTeacher

package mx2.Demo.wordclass EnglishTeacher extends Teacher1 {def this(name:String){this()}override def teach(): Unit ={println("我是从事英语教学的")}def write(): Unit ={println("我在教学生们写")}def write(source:String): Unit ={println("我在"+source+"教学生读")}}

5.测试类

object Test{def main(args: Array[String]): Unit = {var englishTeacher = new EnglishTeacher("李四")englishTeacher.teach()englishTeacher.write()}
}

运行结果:

我是人类
我是从事英语教学的
我在教学生们写

2.模拟计算器

定义为Number类,其中有两个整型数据成员n1和n2,应声明为私有。编写有参和无参构造方法,初始化n1和n2的值,再为该类定义加、减、乘、除等公有成员方法,分别对两个变量执行加减乘除的运算,并将其值输出。要求在主方法中判断输入的n1和n2的值是否为正整数,如果是正整数则进行计算,否则提示“请输入两个正整数”并让用户重新输入
测试类:要求从控制台输入两个数据,使用模拟计算器分别计算出加减乘除的值

代码:

package mx2.Demo.workimport scala.io.StdIn/*** @program: IntelliJ IDEA* @description: 二、模拟计算器*//**** 二、模拟计算器* 定义为Number类,其中有两个整型数据成员n1和n2,应声明为私有。编写有参和无参构造方法,初始化n1和n2的值,再为该类定义加、减、乘、除等公有成员方法,分别对两个变量执行加减乘除的运算,并将其值输出。要求在主方法中判断输入的n1和n2的值是否为正整数,如果是正整数则进行计算,否则提示“请输入两个正整数”并让用户重新输入
测试类:要求从控制台输入两个数据,使用模拟计算器分别计算出加减乘除的值*/
class Number {private var n1:Int = _private var n2:Int = _def this(n1:Int,n2:Int){this()this.n1 = n1this.n2 = n2}def plus(): Int={n1+n2}def minus(): Int ={n1 -n2}def ride(): Int ={n1 * n2}def divide(): Int ={n1 / n2}}object NumberTest{def main(args: Array[String]): Unit = {var result = truevar n1 = ""var n2 = ""while(result){var flag1 = truevar flag2 = trueprint("请输入第一个数")n1 = StdIn.readLine()print("请输入第二个数")n2 = StdIn.readLine()var charN1 = n1.toCharArrayvar charN2 = n2.toCharArrayfor(x <- charN1){if(Character.isDigit(x) == false){flag1 = false}}for(x <- charN2){if(Character.isDigit(x) == false){flag2 = false}}if(flag1 == false || flag2 == false){print("输入的不是数字")}else{result = false}}print("请输入要操作的运算")var mul = StdIn.readChar()var num = new Number(n1.toInt,n2.toInt)if(mul == '+'){print("和为"+num.plus())}else if(mul == '-'){print("差为"+num.minus())}else if(mul == '*'){print("积为"+num.ride())}else if(mul == '/'){print("除为"+num.divide())}}
}

运行结果:

请输入第一个数1
请输入第二个数2
请输入要操作的运算+
和为3

Scala 编程题四 继承相关推荐

  1. Scala编程(第四版)

    Scala编程 可伸缩的语言 面向对象与函数式编程 Scala优势 Scala是兼容的 可伸缩的语言 1.适合构建将java组件组装在一起的脚本 2.用于编写可复用组件,并讲这些组件构建成大型框架 S ...

  2. /* * 编程题第四题(20分): 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 */

    题目: /* 编程题第四题(20分): 用1元5角钱人名币兑换5分.2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案. */ 我使用java做的 public class ...

  3. 今日头条2018校招测试开发方向(第一、二、三、四批)编程题汇总 - 题解

    对于今日头条这家公司来说,测试的题和后端开发的题几乎是一样的,但是由于第一批的后端开发的题没有在牛客网上放出来,因此,猜测后端开发第一批的题应该和后端开发第一批的题一样,同时也想做一个测试方向编程题的 ...

  4. 西安交大计算机考研软件工程编程题库(二十四)

    西安交大计算机考研软件工程编程题库(二十四) 鄙人今年备考,主要目的在于记录学习历程,望道友们勿喷~ 希望能做到每日一题~ 开始炼丹~ 上篇链接:西安交大计算机考研软件工程编程题库(二十三) 下篇链接 ...

  5. 浙江大学pta答案python第四章_浙大PTA-Python题库 编程题第一章(1-1~1-3)题解

    其他各章题解链接如下 浙大PTA-Python题库 编程题第一章(1-1~1-3)题解 https://blog.csdn.net/zimuzi2019/article/details/1070206 ...

  6. 今日头条2018校园招聘后端开发工程师(第四批)编程题 - 题解

    做过第三批的题目,今日头条2018校园招聘后端开发工程师(第三批)编程题 - 题解和第二批的题目,今日头条2018校园招聘后端开发工程师(第二批)编程题 - 题解. 这一场题目还是挺好玩的,也挺有技巧 ...

  7. # 封装,抽象类,继承,重写java编程题 问题描述 ``` 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。 方法:getSalary(int

    封装,抽象类,继承,重写java编程题 问题描述 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份. 方法:getSalary(int month ...

  8. 编程题2使用Java的继承关系来描述动物世界的特征和关系。

    编程题2使用Java的继承关系来描述动物世界的特征和关系. ( 1 )抽象出项目问题中的对象:动物.老鼠.熊猫. (2 )抽象出每种对象所具有的性质:名字和食物. ( 3)抽象出每种对象所具有的行为, ...

  9. C算法编程题(四)上三角

    前言 上一篇<C算法编程题(三)画表格> 上几篇说的都是根据要求输出一些字符.图案等,今天就再说一个"上三角",有点类似于第二篇说的正螺旋,输出的字符少了,但是逻辑稍微 ...

最新文章

  1. oracle视图能用etl工具_(转)使用kettle作为sqlserver2008和oracle10G之间的ETL工具
  2. CTFshow 命令执行 web76
  3. Android USB Gadget复合设备驱动(打印机)测试方法
  4. 变种GandCrab样本分析
  5. c#开发windows应用程序几个小技巧
  6. Dynagen0.11+Pemuwrapper入手麻烦二三事——告诉初学者直路
  7. java oauth2.0_教程:如何实现Java OAuth 2.0以使用GitHub和Google登录
  8. 网页制作小技巧:dl dt dd标签用法
  9. 视频质量检测中的TP、FP、Reacll、Precision
  10. 截至2020年底Cosmos生态基金会ICF总资金达2.12亿美元 加密资产占82%
  11. 华为vrrp默认优先级_华为vrrp配置
  12. 设计模式之—工厂方法模式
  13. 「2019冬令营提高组」送分题
  14. 北京内推 | 百度增强现实技术部招聘虚拟人算法实习生
  15. WebStrom配置好git后文件颜色代表的含义
  16. 【读书笔记】组合计数中的行列式方法
  17. 当你写爬虫遇到APP的请求有加密参数时该怎么办?【初级篇-秒杀模式】
  18. 项目成本管理__成本管理技术__第7条 完工尚需绩效指数(TCPI)
  19. 编码规则-驼峰式拼写法
  20. C语言中的制表符\t

热门文章

  1. windows 大文件共享传输错误 0X8007003B
  2. 数字图像处理之第三章
  3. u盘名称霸气_皓影改装点点滴滴之记忆U盘详细解说!
  4. mathworks matlab r2018b更新日志
  5. Android扫一扫和生成二维码(使用华为ScanKit)
  6. java date 操作_java日期操作-java Date-java Calendar-嗨客网
  7. 百度搜索框提示词下拉列表的制作方法
  8. java 搜索 下拉列表框_用java编写随用户输入自动弹出下拉列表匹配项目,类似百度搜索...
  9. 腾讯企业邮箱登录入口在哪?知名企业邮箱品牌登录方法大全!
  10. 高校新闻网-微信小程序