我希望我的fisrt帖子不会出现故障 我是一个想要正确理解基本概念的三重诺言者
我得到了所有类的内容,但不清楚实例和内容之间的区别(初始化)
我能这样想吗?:
小型建筑开发场地的设计获得批准。 (蓝图)那就是班级,当然
'实例'将是一辆从卡车上工厂买来的单位
但是,如果测量员来了,并且将其空间分配出去,那么初始化就是这样的。在网站上 ? (我在Swift之前开始使用Objective-C,并且只是看了一下swift,你可以告诉)还是别的什么?因为Swift文档告诉我一个' var'或者“让我们”#39;对象需要赋值,它不能为零。 当我看到很多像
这样的材料时,这很奇怪var X : Int
let str : String
我认为没有值,他们说他们明确希望看到X = 5或str ="棉花"
所以tat为init()留下了两个可能的类比:
var X : Int // like the building has the bounds set out, it's just not filling the space?
Var X = 5 // like the building is in place, but still empty and not in habitation
没有要求进行任何重要的讨论,这是更多的权利'?如果有的话
答案 0 :(得分:1)
相当简单,"实例化"或"初始化" (同样的事情)就是当你创建一个类的实例时。因此,使用类似的比喻,@Entity
public class Entity {
@Id
private Long id;
@Lob()
private Blob blob;
}
public interface Repository extends CrudRepository<Entity, Long> {
}
是房子的蓝图,Class
是施工人员建造房屋时,Initialization (init)
是您居住的房屋。
在上面的示例中,这将是Instance
。施工人员刚刚建造var x = 5
并将其设置为x
。现在,您可以使用5
的实例执行任何操作,例如将其更改为x
。第一个告诉每个人6
将成为x
的示例是Int
的用途。
答案 1 :(得分:1)
该类是您对象的蓝图。例如。 MyObject包含这些变量x,y和z,并且具有这些方法foo1,foo2,foo3。类的实例是包含x,y和z值的单个对象的实例化(创建),并且可以使用这些方法foo1,foo2,foo3。
类的init执行类所需的任何初始化,通常为构造的对象变量赋值,x = 3,y = 4和z = 5.在构造对象时你想要完成的任何事情都应该完成在init中。
在swift中,如果你创建了一个变量但是没有用一个值初始化它,例如var x:int,并尝试使用该变量,您将收到编译器错误。该对象已实例化但未初始化。如果需要变量包含nil,则必须使用可选标记(?),var x:int? =没有。变量x现在是可选的类型。