我想知道是否有一种方法可以覆盖Scala中同一个类中的方法。
class xyz {
def a() : Unit = {
var hello = "Hello"
}
def b() : Unit = {
//method to override the functionality of b, for example lets say I want it to just print "Hi, how is your day going" until its somehow reset and after its resett it should go back to doing var hello = "Hello"
}
}
def c() : Unit = {
//reset a to do what it was doing earlier (var hello = "Hello")
}
基本上,我希望每次调用a()
时都要计算var hello = "Hello"
,直到b()
被调用,然后a()
应该打印"Hi, how is your day going"
,直到c()
被调用时重置,然后它应该返回执行var hello = "Hello"
。有没有办法使用这个,如果没有,还有其他方法吗?我不想用条件句。先谢谢你。
2条答案
按热度按时间bd1hkmkf1#
因此,基本上您希望定义
a()
以使用动态行为。pbpqsu0x2#
作为一个强烈不喜欢使用
var
s的人,我认为以下内容并不优雅,但如果vars适合您,您可以这样做: