TEL:400-8793-956
当前位置:程序、服务器

为什么以及何时应该使用初始化程序?

提问者: 近期获赞: 浏览人数: 发布时间:2021-05-25 14:20:17

 问:我是编程的初学者,目前正在学习SWIFT 2.0 Orientation bla bla bla,Pasan教我们在“ Struct”中使用initializer(init)。

 
但是,我不太了解为什么和何时在编码Struct中使用初始化程序(init)。(例如,为什么我们使用“ self.x = x”,为什么不能使用“ self.x = abc”?)
 
如果不使用初始值设定项会有什么影响?还是我可以做些别的事情来替换此初始化程序?
 
希望有人能帮助我,非常感谢,并祝您愉快。
 
 
答:我也是一个初学者,所以如果我错了,有人可以纠正我。
 
init()是函数/方法。当在您的源代码中创建一个类的实例(或结构吗?)时,它可以用来做事。不知道您对类和创建类的实例了解多少。如果不这样做,请等到有了它,然后您便可以理解。如果是,则创建一个实例,例如一个类将调用此方法。
 
初学者级别的init()主要用于初始化变量。您不是在这里设置硬值,而是说“嘿,用户,当您在我的对象(类)上创建时,我要初始化我在初始化方法中声明的参数(意味着设置值)”。这“迫使”用户设置值。
 
init()中的赋值有点令人困惑。=右边的变量是一个参数。必须在创建类对象的过程中设置此参数。然后将其分配给类的属性,即=符号的左侧。您可以例如编写“ self.x = x”或“ xProperty = xParameter”或“ x = _x”。请参见下面的示例:
 
class  Person  { 
//属性(类中变量的同义词)var name :String var age :Int init (inputName :String ,inputAge :Int ){名称= inputName age = inputAge } }  
 
我们可以省掉这个吗?是的,不需要init()。但是,然后我们1.创建一个不要求参数的类实例,这在我们要设置参数时可能会出现问题,并且2.我们需要在声明时立即初始化属性。因此它必须是'var name:String =“ initialName”'而不是'var name:String'。
 
我还不是一个新手,但是在创建一个类时,我现在总是创建init方法,直到我对它有所了解。
上一篇: NODE.JS建立简单动态
下一篇: 有关.htaccess和重定向的问题