objective-c – 使用属性与方法的指南

objective-c – 使用属性与方法的指南,第1张

概述我经常很难决定是否应该通过属性方法公开某些数据.你可以说“使用对象状态的属性”,但这不是很令人满意.以此示例为例: - (NSString *)stringOne{ return _stringOne;}- (NSString *)stringTwo{ return _stringTwo;}- (NSString *)mainString{ return 我经常很难决定是否应该通过属性或方法公开某些数据.你可以说“使用对象状态的属性”,但这不是很令人满意.以此示例为例:
- (Nsstring *)stringOne{    return _stringOne;}- (Nsstring *)stringTwo{    return _stringTwo;}- (Nsstring *)mainString{    return [_stringOne length] > 0 ? _stringOne : _stringTwo;}

很明显stringOne和stringTwo应该是属性,因为它们显然是对象状态.但是,不清楚mainString是否应该是属性.对于最终用户,mainString就像状态一样.对于您的对象,mainString不是状态.

这个例子是人为的,但希望你能得到这个想法.是的,属性只不过是创建getter和setter的便捷方式,但它们也向用户传达了一些信息.有没有人有适当的指导方针来决定何时使用属性与方法.

解决方法 我想说,隐藏“true”状态(在你的例子中是string1和string2)和“动态”状态(mainString)之间的分割,究竟是什么属性.

规范的例子可能是一个代表一个人的对象,给定的姓氏和姓氏为“状态”.可以从这两个部分呈现第三个状态“全名”,但是客户绝对没有理由知道全名是按需构建,还是在设置两个部分时创建和存储.这没关系.

属性是一个接口 – 此类为其客户端提供了哪些数据(以及客户端可以配置哪些类)?每个属性的实现都是封装的,不会影响其作为属性的状态.

当然,在ObjC中,我们使用方法来访问属性.然而,其他方法表示对象可以采取的动作,可能传递一些数据来进行 *** 作.

总结

以上是内存溢出为你收集整理的objective-c – 使用属性与方法的指南全部内容,希望文章能够帮你解决objective-c – 使用属性与方法的指南所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1239000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存