scala 13 抽象类 字段方法

DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html

《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html
class AbstractClassOps{
var id : Int = _
}
abstract class SuperTeacher(val name : String){
var id : Int
var age : Int
def teach
}

class TeacherForMaths(name : String) extends SuperTeacher(name){

override var id = name.hashCode()
override var age = 29
override def teach{
println("Teaching!!!")
}
}

object AbstractClassOps{
def main(args: Array[String]) {
val teacher = new TeacherForMaths("Spark")
teacher.teach

println("teacher.id" + ":" + teacher.id)
println(teacher.name + ":" + teacher.age)

}
}

时间: 2024-10-12 12:24:49

scala 13 抽象类 字段方法的相关文章

scala中的字段和成员方法的底层class字节文件分析

本文基于class字节码来分析在Scala语言中, 一个类中的字段和方法是如何实现的, 并且对比和java实现方式的区别. 首先看一段简单的源码: [java] view plain copy class FieldMethodTest{ private var i = 0 private val j = 0 def add() : Int = i + j } 这个类很简单, 其中有两个字段和一个方法: i字段被声明为var, 是可变的,类似于java中的普通变量: j字段被声明为val, 是不

scala学习手记20 - 方法返回类型推断

除了推演变量的类型,scala也会推演方法的返回类型.不过这里有一处需要注意:方法返回类型的推演依赖于方法的定义方式.如果用等号"="定义方法,scala就会推演方法返回类型:否则,它就认为方法的返回为void.看一个例子: def printMethodInfo(methodName: String) { println("The return type of " + methodName + " is " + getClass().getDe

mysql 5.7.13 安装配置方法图文教程(win10) (转)

http://www.jb51.net/article/87152.htm ***************************** MySQL是一款关系型数据库管理系统,是由Oracle旗下公司MySQL AB 公司开发,是在web方面最好的.最流行的关系型数据库软件应用之一,深受广大个人使用者以及中小型企业的喜爱. 方法/步骤 双击安装文件,进入安装,如图所示,点击“next”,进入下一步 在协议许可(LicenseAgreement)界面,勾选“Iacceptthelicenseterm

【翻译自mos文章】job 不能自动运行--这是另外一个mos文章,本文章有13个解决方法

job 不能自动运行--这是另外一个mos文章 参考原文: Jobs Not Executing Automatically (Doc ID 313102.1) 适用于: Oracle Database - Enterprise Edition - Version 9.2.0.3 to 10.2.0.4 [Release 9.2 to 10.2] Information in this document applies to any platform. 症状: job已经很长时间没有自动运行了.

第13章 模版方法模式(Template Method)

原文  第13章 模版方法模式(Template Method) 模板模式 模板模式 举例:模拟下数据库的update方法,先删除在插入. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47     abstract class SqlManage     {         publi

Visual Studio快速封装字段方法

在面向对象的编程中我们常常要将各个字段封装为属性,但是当字段多的时候往往这个重复的操作会大大降低我们的开发效率,那么如何才能快速的封装字段呢?下面就给大家2个解决方法: 1.使用封装字段方法: 选中字段--点击右键--重构--再选择封装字段,就OK了 2.使用propfull代码段: 输入propfull,按2次Tab按键,输入数据类型--按一次Tab--设置字段名--按一次Tab--设置属性名,就OK了

scala入门-08 apply方法和单例对象的使用

首先 在scala下的 org.scala.clazz下创建UsageOfApply.scala 我们做过Java开发都知道 main方法中的对象都是静态的,而scala object对象的方法都是静态方法 接下来 我们看下 apply是如何使用的 当 val applyTest = new ApplyTest() 会导致apply方法的调用并返回该方法调用的值,也就是ApplyTest的实例化对象 Class中也可以由apply方法,其使用方法如下所示: 由于 object中的方法和属性都是静

接口 抽象类 虚方法 三者比较-1

接口 1.接口只提供方法规约,不提供方法体: 2.接口中的方法不能用关键字修饰: 3.接口里不能有接口和变量: 4.接口里的方法在子类中必须全部实现: 5.接口可以实现多重继承: 抽象类 1.抽象类可以从接口继承: 2.抽象类中的实体方法在子类中不可以重写,只可以被引用: 3.抽象类中的抽象方法不可以有方法体,抽象类中的抽象方法在子类中必须重写: 4.抽象类中的虚方法在子类中可以选择性的重写: 虚方法 1.可以在子类选择性的重写: 2.不重写也可被子类调用: 接口与抽象类的异同 1.抽象类的抽象

C#抽象类及其方法的学习

在C#中使用关键字 abstract 来定义抽象类和抽象方法. 不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例. "一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用."- C++ Programming Language by Stroustrup Chapter13.2 抽象类能够被用于类,方法,属性,索引器和事件,使用abstract 在一个类声明中表示该类倾向要作为其它类的基