scala实现在测试类中采用抽象类指向实现类不要直接得到实现类的对象
以下是Scala中实现在测试类中采用抽象类指向实现类的示例代码:
// 定义抽象类
abstract class AbstractClass {
def method1(): Unit
def method2(): Unit
}
// 定义实现类
class ImplementClass extends AbstractClass {
override def method1(): Unit = {
println("Method 1 implemented")
}
override def method2(): Unit = {
println("Method 2 implemented")
}
}
// 测试类
object TestClass extends App {
// 创建抽象类的引用,指向实现类的对象
val abstractObj: AbstractClass = new ImplementClass()
// 调用抽象类的方法
abstractObj.method1()
abstractObj.method2()
}
在上述示例代码中,我们定义了一个抽象类AbstractClass,其中包含两个抽象方法method1和method2。然后我们定义了一个实现类ImplementClass,它继承自AbstractClass并实现了抽象方法。
在测试类TestClass中,我们创建了一个抽象类的引用abstractObj,并通过new ImplementClass()将其指向实现类的对象。然后我们可以通过该引用调用抽象类的方法,而不直接得到实现类的对象。
运行上述代码,输出结果为:
Method 1 implemented
Method 2 implemented
这表明抽象类的引用成功指向了实现类的对象,并且可以正常调用实现类的方法
原文地址: http://www.cveoy.top/t/topic/hMqI 著作权归作者所有。请勿转载和采集!