gpt4 book ai didi

ios - 为什么默认调用父类(super class)指定的初始值设定项?

转载 作者:可可西里 更新时间:2023-11-01 00:05:29 26 4
gpt4 key购买 nike

<分区>

我是 Swift 的新手,遇到了一些关于初始化器的问题。我用以下代码创建了一个 Swift 文件:

import Foundation

class SuperClass
{
var a : Int
init()
{
a = 10
print("In Superclass")
}
}

class SubClass : SuperClass
{
override init()
{
print("In Subclass")
}
}

在上面的代码中,SubClassinit()不包含对SuperClassinit()的调用> 即 SubClass init() 中没有 super.init()

所以我的问题是:

1. 如果我不调用 SuperClass 的指定 init() 为什么不报错

2. 如果我正在创建 SubClass 的对象,即 let s = SubClass(),输出为:

In Subclass

In Superclass

为什么 SuperClassinit() 被调用了?默认情况下,子类 init() 是否调用父类(super class) init()?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com