继承和多态是现代编程语言最为重要的概念。继承和多态允许用户将一些概念进行抽象,以达到代码复用的目的。本文用Scala来实现继承和多态。
package scala
/**
* @author YaPeng Li
* @version 0.0.1
*/
object Case_Spark_Fun {
def main(args: Array[String]): Unit = {
val bean = new Case_Spark_Fun()
val bean1 = new Case_Spark_Fun1("小李1", 18, "1.8米")
val bean2 = new Case_Spark_Fun2("小李", 18, "1.8米")
def cpf(csf: Case_Spark_Fun): Unit = csf.pit()
cpf(bean)
cpf(bean1)
cpf(bean2)
}
}
class Case_Spark_Fun() {
var name: String = _
var age: Int = _
def this(name: String, age: Int) {
this()
this.name = name
this.age = age
}
def pit() = println("csf")
}
class Case_Spark_Fun1(name: String, age: Int) extends Case_Spark_Fun(name, age) {
var hig: String = _
def this(name: String, age: Int, hig: String) {
this(name, age)
this.hig = hig
}
override def pit() = println("csf1")
}
class Case_Spark_Fun2(name: String, age: Int) extends Case_Spark_Fun(name, age) {
var hig: String = _
def this(name: String, age: Int, hig: String) {
this(name, age)
this.hig = hig
}
override def pit() = println("csf2")
}
csf
csf1
csf2
Process finished with exit code 0