Scala学习笔记(三)----类的写法
来源:互联网 发布:汽车pp2000软件下载 编辑:程序博客网 时间:2024/06/12 14:26
直接上代码 注意点写在注释里了
package cn.limbo.demo /** * Created by Limbo on 16/6/28. * class ClassName(),括号代表了主构造器,def this()表示定义了一个副构造器 * 类中的所有单独可执行的语句都会被包含在主构造器中 */ class Complex(val real: Int, val imaginary: Int) { def +(operand: Complex): Complex = { println("Calling + ") new Complex(real + operand.real, imaginary + operand.imaginary) } def *(operand: Complex): Complex = { println("Calling * ") new Complex(real * operand.real - imaginary * operand.imaginary, real * operand.imaginary + imaginary * operand.real) } def this(real : Int) { this(real,1) } override def toString(): String = { real + (if (imaginary < 0) "" else "+") + imaginary + "i"; } }/** * Scala继承的时候一定要在构造器中写override在父类的属性前 */class number(override val real:Int ,override val imaginary :Int, var name: String)extends Complex(real,imaginary){ override def toString() : String = super.toString() + "name : " + name}
但是后来发现如果用var来定义属性的话是不能添加override的,原因是可变参数(var定义的参数)没有override的必要,所以若是继承,无需写var,直接写成
class Dog(name:String,age:Int )extends Pet(name, age)遇到val定义的变量再用override吧
0 0
- Scala学习笔记(三)----类的写法
- scala学习笔记:各种奇怪的写法
- Scala学习笔记三
- scala学习笔记三
- Scala学习笔记(三)scala的函数式编程
- scala学习笔记(三)
- scala学习笔记(三)
- scala 学习笔记(三)
- scala学习笔记(三)
- Scala 学习笔记(三)------定义具有可变参数的函数
- 简单的makefile文件三种写法学习笔记
- Scala学习笔记(三) ---- 类与对象
- Scala学习笔记(三)类层级和特质
- scala学习笔记三----scala函数式编程风格学习
- Scala学习笔记-类
- scala学习笔记-类
- Scala学习笔记(五)----单例,伴生对象,类static写法
- Scala学习笔记(三) - 基础类型
- git使用教程
- 服务端入门《七》(Core Dump )
- [log4j2] 使用教程详解(怎么使用log4j2)
- SpringMVC Controller注解
- 写给支持和反对《完全用Linux工作》的人们
- Scala学习笔记(三)----类的写法
- 设计模式的简单示例
- 《剑指offer》:[56]五岔路口交通管理红绿灯设计
- SpriteKit给游戏弹跳角色添加一个高度标示器
- Log4j2架构及概念简介
- UNIX套接字编程
- Lua脚本中释放binary文件
- "策略模式"-之Java,Android面试必问设计模式(7/9)
- AFNetworking下载进度条显示