classInformation:NSObject{varphoneNum:String?varage:Int?init(phone:String,age:Int){self.phoneNum=phoneself.age=age}}classPerson:NSObject{varinfo:Informationvarname:Stringinit(name:String,info:Information){self.name=nameself.info=info}}varinfo=Information(phone:"123",age:5)varperson=Person(name:"deng",info:info)person.info.phoneNum="123"person.info.phoneNum="123"这句代码,会引发什么错误?编译过了,项目跑起来,没事。我觉得,他直接操纵Information类的属性,违背了类的封装,应该是不能直接访问数据,应该要通过类暴露在外面的方法设置。面试上遇到的,感觉应该有更加深刻的原因。以前OC版的好像看到过,未仔细分析。
HUWWW
相关分类