scala小练习二

这篇博客涵盖了Scala编程的一些基础和进阶练习,包括创建Person类以处理名字和姓氏,实现Time类的比较方法,设计抽象类Animal及其子类,探索特质的叠加,创建报告电池电量的BatteryPower trait,以及实现OrderedPoint类以支持按字典顺序排序。此外,还讨论了BitSet类的继承结构和线性化规格。
摘要由CSDN通过智能技术生成

1.编写一个Person类,其主构造器接受一个字符串,该字符串包含名字,空格和姓,如new
Person(“Fred Smith”)。提供只读属性 firstName 和 lastName。主构造器参数应该是var, val
还是普通参数。

class Person(val name:String) {
  val firstNmae:String=name.split(" ")(0)
  val lastNmae:String=name.split(" ")(1)
}

这里写图片描述
2.+3. 编写一个Time类,加入只读属性hours和minutes,和一个检查某一时刻是否早于另一时刻
的方法before(other:Time):Boolean。Time对象应该以new Time(hrs,min)方式构建。其中hrs以
军用时间格式呈现(介于0和23之间)
重新实现前一个类中的Time类,将内部呈现改成午夜起的分钟数(介于0到24*60-1之间)。不
要改变公有接口。也就是说,客户端代码不应因你的修改而受影响。

class Time(val hours:Int,val minute:Int) {
   
  //参数类型是必须指定的,val或var不必须显示指定
  def before(other: Time): Boolean ={
    hours<other.hours||hours==other.hours&&minute<other.minute
  }
  //实现1
  def time(): String ={
    hours+":"+minute
  }
  //实现2
//  def time(): String ={
   
//  (hours*60+minute).toString
//}
}

这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值