- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(尚文家教化学酸碱盐试题
北京尚学堂提供
1.什么是单例
在回答这个问题之前我们先来看看官方帮助文档是怎么写的。
这个是苹果给的解释,从这个示意图我们也可以叫较为清晰的明白是什么意思了。一个单例类无论应用程序请求多少回他都返回相同的实例。一个单例类只能有一个实例。
2.什么时候使用单例
还看看上面截图英文的最后一句,大意是:使用单例的情况下这是可取的的单点控制,如类提供一些一般性的服务或资源。换句话说就是,如果这个类是一个公共的部分,那么我们就可以来创建一个单例类了。
3.单例类有什么作用
下面是苹果官方文档的第二段:
主要看这句:A singleton class also prevents callers from copying, retaining, or releasing the instance.?
大意是:一个单例类还可以防止调用者复制、保留或释放实例。水平有限暂时没有什么个人理解。O(∩_∩)O~
4.单例的具体举例
单例的文字描述也看了,图也看了。那么单例到底是个什么?下面就以一个小得工程来解释什么单例。
我们读书的时候通常都是一个班级会有一个班主任,教我们课程的会有什么物理老师和就业老师等。这些非班主任的老师一般都是会教几个班级的课程,但是一个班主任一般只会是一个班级的班主任。好了下面有这么一个问题:假设我们每个班级只有班主任有权利修改学生的分数,如果物理老师和就业老师要修改学生的分数,他们就只能是向班主任老师提出修改申请,告诉班主任老师他们想修改谁的分数,修改为多少。
问题来了,我们要怎么要分析这个问题呢?
第一步:分析需求;老师向班主任申请修改学生分数;
第二步:找对象抽象类;对象有班主任、物理老师、就业老师和学生;类有班主任类、物理老师类、就业老师类和学生类。
为什么不能把老师归为一个类呢?或是把物理老师和就业老师归为一个类?我们举这个例子是单例的一个练习。班主任老师和物理老师、就业老师有不同的行为,物理老师和就业老师不能修改学生分数,所以不能归为一类。物理老师和就业老师也不能归为一类,这个练习是单例的一个小练习,你硬是要归为一类也可以。( o⊙ )
第三步:找属性和行为;学生有分数和姓名这两个属性。物理老师和就业老师有向班主任老师申请修改某个学生的分数的行为。班主任老师才有修改学生分数的行为,修改之前必须要先存在这么学生,所以还有一个增加学生的行为;
第四步:类的具体实现:
1)学生部分:
[objc]?view plaincopy
#import?Foundation/Foundation.h??
@interface?Student?:?NSObject{??
????NSString?*?_name;??//姓名??
????NSUInteger?_score;?//分数??
}??
-?(void)setName:(NSString?*)name;??
-?(void)setScore:(NSUInteger)score;??
-?(NSString?*)getName;??
-?(NSUInteger?)getScore;??
@end??
[objc]?view plaincopy
#import?Student.h??
@implementation?Student??
??
-?(void)setName:(NSString?*)name{??
????_name?=?name;??
}??
-?(void)setScore:(NSUInteger)score{??
????_score?=?score;??
}??
-?(NSString?*)getName{??
????return?_name;??
}??
-?(NSUInteger)getScore{??
????return?_score;??
}??
@end??
为什么学生可以设置分数和姓名呢?因为没有这两个方法,我们不能个他得属性写入数据啊。
2)班主任老师:
[objc]?view plaincopy
#import?Foundation/Foundation.h??
#import?Student.h??
@interface?ClassTeacher?:?NSObject{??
????NSMutableArray?*?_array;?//提供一个容器,相当于花名册??
}??
-?(instancetype)init;??
-?(void)addSudentInfoWithName:(NSString?*)name?withScore:(NSUInteger)score;??
-?(void)modifyStudentScoreWithName:(NSString?*)name?withScore:(NSUInteger)s
您可能关注的文档
最近下载
- 2024年怒江州福贡县义务教育教师专项招聘真题.docx VIP
- 《搭石》第2课时公开课教学课件【部编人教版五年级语文上册】.ppt VIP
- 《海岸工程混凝土结构耐久性技术标准》GBT51464-2024知识培训.pptx VIP
- AQT3034—2022化工过程安全管理导则.pdf VIP
- 巴中市巴州区事业单位考试考试题库2024.docx VIP
- 小学数学新西师版一年级上册全册教案(2024秋).doc
- 2025年秋新教科版三年级上册科学全册精编教案教学设计(新教材).docx
- 《第4单元 花卉盆景技术——水仙盆景的设计与制作课件》初中劳动技术沪科教版七年级课件7216.ppt VIP
- 2025年新教材道德与法治三年级上册第一单元《做学习的主人》教案设计.docx VIP
- 惠普 HP E87640 E87650 E87660 彩色数码复印机中文维修手册.pdf VIP
文档评论(0)