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

前端之家收集整理的这篇文章主要介绍了objective-c – 使用属性与方法的指南前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我经常很难决定是否应该通过属性方法公开某些数据.你可以说“使用对象状态的属性”,但这不是很令人满意.以此示例为例:
- (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中,我们使用方法来访问属性.然而,其他方法表示对象可以采取的动作,可能传递一些数据来进行操作.

原文链接:https://www.f2er.com/c/118131.html

猜你在找的C&C++相关文章