SCALA常规练习B
package com.hengheng.scala
class Point(val x : Int, val y : Int) {
val isOriginal : Boolean = {
x == 0 && y == 0
}
}
class TalkPoint(x : Int, y : Int) extends Point(x, y) {
def talk() = {
println("My position is (" + x + "," + y + ")")
}
}
class HappyTalkPoint(x : Int, y : Int) extends TalkPoint(x, y) {
override def talk() {
println("I'am happy!")
super.talk()
}
}
abstract class Animal {
def walk(speed : Int)
def breathe() = {
println("Aninamal breathes.")
}
}
class Dog extends Animal {
override def walk(speed : Int) = {
println("Dog walks, speed is " + speed)
}
}
object Application{
def main(args : Array[String]) {
val p = new Point(0, 0)
println("point info(" + p.x + "," + p.y + ")")
println(p.isOriginal)
val pp = new TalkPoint(3,4)
pp.talk()
val ppp = new HappyTalkPoint(0, 0)
ppp.talk()
val d = new Dog()
d.walk(10)
d.breathe
}
}
输出:
point info(0,0)
true
My position is (3,4)
I'am happy!
My position is (0,0)
Dog walks, speed is 10
Aninamal breathes.
SCALA常规练习B的更多相关文章
- SCALA常规练习C
package com.hengheng.scala abstract class Animal { def walk(speed : Int) def breathe() = { println(& ...
- SCALA常规练习A
package com.hengheng.scala import scala.util.control.Breaks._ import scala.util.Random object Applic ...
- 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习
下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...
- scala学习笔记2
一.算术和操作符重载 a + b 是如下方法的简写: a.+(b) 在scala中你可以使用任何符号来为方法命名.比如BigInt类就定义了一个/%的方法,该方法返回一个对偶,对偶的内容是除法操作得到 ...
- scala学习笔记1
一.REPL scala解释器读到一个表达式,对它进行求值,将它的打印出来,接着再继续读下一个表达式.这个过程被称作 读取-打印-循环,即REPL. 从技术上讲,scala程序并不是一个解释器.实际发 ...
- [翻译]The Neophyte's Guide to Scala Part 12: Type Classes
The Neophyte's Guide to Scala Part 12: Type Classes 过去的两周我们讨论了一些使我们保持DRY和灵活性的函数式编程技术,特别是函数组合,partial ...
- Scala并发编程
Scala的actor提供了一种基于事件的轻量级线程.只要使用scala.actors.Actor伴生对象的actor方法,就可以创建一个actor.它接受一个函数值/闭包做参数,一创建好就开始运行. ...
- 【Scala】Scala之Classes and Properties
一.前言 前面学习了控制结构,下面学习Scala的Class和Properties. 二.Class&Properties 尽管Scala和Java很类似,但是对类的定义.类构造函数.字段可见 ...
- scala 随笔
创建map,并向map添加元素 val idMap = Map( "group_id" -> "GID", "sim_id" -> ...
随机推荐
- System.Threading.Timer 使用
//定义计时器执行完成后的回调函数 TimerCallback timecallback = new TimerCallback(WriteMsg); //定义计时器 System.Threading ...
- adb logcat命令查看并过滤android输出log
cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...
- [分享]WPF 虚拟键盘
场景:用WPF做触屏的软件难免会需要用户输入的问题,至少是简单的数字,这个时候就免不了需要键盘输入. 思路:既然是虚拟键盘,那么我的目的就是模拟键盘输入即可. 1.模拟键盘输入 模拟键盘输入?那么肯定 ...
- SAP-Basic:使用SCC1时提示 TA263“集团被集团副本锁定用于输入”
错误信息 消息号TA263 解决方法 Step 1.使用SCC4进入"集团管理"界面. Step 2.双击要维护的集团,例如"010",进入详细配置界面 ...
- Android设置虚线、圆角、渐变
有图又真相,先上图再说. 点击效果: 设置虚线: <?xml version="1.0" encoding="utf-8"?> <shape ...
- raknet unity3d
Raknet是一高性能的跨平台的网络库. 他主要基于UDP实现,性能非常好,能够做server. 鉴于unity3d较差的网络支持. 本人成功实现了raknet c# for unity3d的使用,s ...
- session绑定javaBean
1.HttpSessionBindingListener 这个监听器,可以让javaBean对象,感知它被绑定到session中或从session中移除.2.HttpSessionActivati ...
- 零基础学习云计算及大数据DBA集群架构师【企业级运维技术及实践项目2015年1月29日周五】
LNMP/LEMP项目搭建 { 项目框架 # Linux_____WEB_____PHP_____DB # rhel7_____apache__-(libphp5.so)-__php__-(php-m ...
- MySQL存储过程的基本函数(三)
(1).字符串类 首先定义一个字符串变量:set @str="lxl"; CHARSET(str) //返回字串字符集 select charset(@str);+-------- ...
- grunt插件[font-spider] : 转码,压缩字体 @font-face
字蛛插件:压缩与转码静态页面中的 WebFont 需要注意的是,目前只支持 grunt@0.4.1 package.json { "name": "fontS" ...