【问题标题】:How can I access the method of the child class from parent reference?如何从父引用访问子类的方法?
【发布时间】:2019-05-08 13:04:26
【问题描述】:

假设我们有这个:

class A
  {
      func printTheValueA()
         {
            print("A")
         }

  }
  class B:A
  {
    func printTheValueB()
      {
        print("")
       }
   }
class C {
var a:A = B()
a.printTheValueB()
}

如上代码,是否可以从A类的引用中使用B类的方法?

【问题讨论】:

  • 只需将 A 类转换为 B
  • 可以var a:A = B()三思而后行!
  • 请不要将Android标签用于与Android无关的问题。
  • 搞错了,我是想问能不能 var a:B = A()

标签: android


【解决方案1】:

不要你正在尝试,但代码应该是

open class A
  {
       fun printTheValueA()
         {
            print("A")
         }         
  }
  class B:A()
  {
       fun printTheValueB()
      {
        print("B")
       }
    }


fun main() {
    println("Hello, world!!!")
    var a:B = B()
    if(a is A)
    a.printTheValueB()

}

你可以试试here

【讨论】:

  • 感谢您回答@Doc,但我想知道孩子是否可以拥有父实例并访问该方法。但是检查后发现会出现编译时错误。
猜你喜欢
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 1970-01-01
  • 2017-09-22
  • 2017-10-12
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
相关资源
最近更新 更多