一天一段scala代码(八)

本文通过学习《快学scala》一书,分享了Scala语言的特性,并通过实例展示了Scala在Spark框架中的应用,包括类的构造器使用、多态性实现及对象的创建与展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一天一段scala代码(八)

       为了更好的驾驭spark,最近在学习scala语言特性,主要看《快学scala》,顺便把一些自己认为有用的代码记下来。


package examples


class Person8
{
    var name:String=""
    def this(name:String)
    {
      this()//一定要先调用主构造器.每个辅助构造器最终都会调用主构造器
      this.name=name
    }
    override def toString=
    {
       "name:"+name
    }
    def show=
    {
      println("Person:"+toString)
    }
}

class Employee(name:String,salary:Double) extends Person8(name:String) //只有主构造器能够调用超类的构造器
{
    override def toString=
    {
       "name:"+name+",salary:"+salary
    }
    
    override def show=
    {
      println("Employee:"+toString)
    }
    
  
}

object Example8 extends App{
  val t1 = new Person8("linger")
  println(t1)
  t1.show
  
  val t2 = new Employee("linger",15)
  println(t2)
  t2.show
  
  val t3:Person8 = t2   //这里跟c++不一样阿,c++必须是虚函数,才会呈现多态.scala里没有虚函数,所有函数只要被override了都会呈现多态
  println(t3)
  t3.show
}










输出:
name:linger
Person:name:linger
name:linger,salary:15.0
Employee:name:linger,salary:15.0
name:linger,salary:15.0
Employee:name:linger,salary:15.0

本文链接: http://blog.csdn.net/lingerlanlan/article/details/43836271
本文作者:linger



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值