scala的动态类实现

本文介绍了Scala从2.10版本开始支持的动态类型特性,并展示了如何创建动态对象及其成员的动态调用。示例中,创建了DynamicImpl类,实现了赋值和调用动态方法的功能,包括通过元组解决不同参数个数的问题。

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

scala 2.10开始支持动态类型,做个类方面使用,动态对象的成员也可以动态调用。

val person = DynamicImpl()

person.name = "zs"

person.name.value

val bird = DynamicImpl()

bird.sing = (x:Any)=>{ 0.until(4).foreach( _ => {
        print("hello ")
        Thread.sleep(1000)
        print("hello ")
        Thread.sleep(1000)
        println("how are you?")
        Thread.sleep(1000)
    } ) }

person.bird = bird
person.bird.sing()

通过元组解决参数个数问题

person.do0 = (x:Unit)=>println("no parameter")
person.do3 = (x:(String,Int,Double))=>println(" 1st para is "+x._1+", 2nd para is "+x._2.toString+", 3rd para is "+x._3.toString)
person.do0(())
person.do3(("abc",1,2.0))

(7月23日修改,定义一个类更清晰)

impor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值