OC知识点(类方法,构造方法,组合模式,get,set方法,自动生成属性)
1.类方法的优势
不用创建对象,节省了空间,直接用类名调用类方法,类方法为外界提供一个方便的调用接口.(特点:类方法以加号开头,不能使用自身的成员变量,它的调用不依赖成员变量)
2.构造方法(初始化成员变量, 类似于出厂设置)
必须以减号开头后跟init+有意义的后缀,自定义的构造方法可以包含多个参数, 返回值为id, 必须使用驼峰命名规范.
3.组合模式(类与类的组合,增强了类之间的耦合度)
即在一个类中使用另一个类定义一个成员变量表示隶属关系,如学生拥有书本,学生是一个类,书本也是一个类,用书本创建一个成员变量给学生用.
4.get和set方法(获取或设置成员变量的值)
set方法: 必须以减号开头后跟(void)set+要设置的成员变量名,无返回值,命名同样使用驼峰命名规范;
get方法:必须以减号开头后跟(要获取的变量类型)+设置的成员变量名,命名同样使用驼峰命名规范.
5.自动生成属性(方便声明一些不用检查范围的属性)
使用@property+类型名+属性名
Xcode4.3之前这样的定义系统会给该属性声明set和get方法并且符合上面的要求,但是没有给出实现(@synthesize 属性名=成员变量名来完成实现).
Xcode4.3之后系统不仅给出了相应的实现而且还定义了一个成员变量(变量名前加下划线).
但是这种方式生成的属性只是最简单的赋值,而不包含数据完整性和安全性的检查,因而当用户需要检查是就要自己写set和get方法.
如果同时重写了set和get方法,那么系统就不会根据属性名生成成员变量,就要声明该成员变量.
OC知识点(类方法,构造方法,组合模式,get,set方法,自动生成属性)的更多相关文章
- [图解教程]Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法
[图解教程]Eclipse不可不知的用法之一:自动生成Getter.Setter和构造方法 关键词:Getters and Setters.getter和setter方法.Constructor us ...
- 【Unity3D】资源对象、预设、查找对象、组合模式等知识点
1.解释对象与资源区别于联系,根据官方案例,分别总结资源和对象组织的规则/规律. 下载并查看了Adam和Survival Shooter tutorial两个官方资源案例,这些案例作为资源,可以 ...
- 16. 星际争霸之php设计模式--组合模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- 设计模式16---设计模式之组合模式(Composite)(行为型)
1.场景模拟 使用软件模拟大树的根节点和树枝节点和叶子节点 抽象为两类,容器节点和叶子节点 2.不用模式的解决方案 package demo14.composite.example1; import ...
- C#学习笔记-组合模式
什么是组合模式? 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 何时使用组合模式? 当需求中是体现部分与 ...
- 设计模式总结篇系列:组合模式(Composite)
在探讨Java组合模式之前,先要明白几个概念的区别:继承.组合和聚合. 继承是is-a的关系.组合和聚合有点像,有些书上没有作区分,都称之为has-a,有些书上对其进行了较为严格区分,组合是conta ...
- 设计模式(9)--Composite(组合模式)--结构型
1.模式定义: 组合模式属于对象的结构模式,有时又叫做“部分——整体”模式.组合模式将对象组织到树结构中,可以用来描述整体与部分的关系.组合模式可以使客户端将单纯元素与复合元素同等看待. 2.模式特点 ...
- Java 设计模式系列(九)组合模式
Java 设计模式系列(九)组合模式 将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式使得用户对单个对象的使用具有一致性. 一.组合模式结构 Component: 抽象 ...
- 设计模式-组合模式(Composite Pattern)
本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 前置技能:认识数据结构中的树形结构. 组合模式简介 组合模式是将对象组合成树形结构以表示“部分- ...
随机推荐
- OC-7-内存管理
课程要点: 内存管理的必要性 MRC(手动管理) 自动释放池 ARC是怎么对内存进行管理的 内存管理的必要性 OC是一门面向对象的语言,在软件运行过程中会创造大量的对象,每创建一个对象系统就会给其分配 ...
- TPM Key相关概念
1. Storage Keys:存储密钥,用来加密数据和其它密钥的通用非对称密钥,这里的其它密钥可以是另外一个存储密钥,也可以是绑定密钥或签名密钥.它本身是长度2048bit的RSA私钥:它既可以是可 ...
- Problem H. The Fence 通过取余判重,求得某个区间的某些个数为某个数的倍数。
/** 题目:Problem H. The Fence 链接:https://vjudge.net/problem/Gym-101090H 题意:给定一个字符串,只有0或者1: 问:假如两个不同的1之 ...
- svn备份一般采用三种方式
http://www.cnblogs.com/itech/archive/2011/10/11/2206988.html 备份策略 ============== svn备份一般采用三种方式:1)svn ...
- [已解决]window下Can't connect to MySQL server on 'localhost' (10061)与无法启动MYSQL服务”1067 进程意外终止”
查了一圈,发现都解决不了我的问题,查了 window 系统日志,提示缺少了某些文件,文件怎么丢的我也不知道,以下是解决办法. -- 我的 mysql 版本为 5.6.x 压缩包版本,我的 mysql ...
- TBSchedule源码阅读2-TBScheduleManagerFactory 定时任务ManagerFactoryTimerTask
定时任务 : 主要功能:监听zookeeper状态,正常则this.factory.refresh(),异常则this.factory.reStart(); 1 正常情况this.factory.re ...
- windows无法设置防火墙
无法打开防火墙,出现错误代码0x80070422,解决方法:windows开始键->运行->调出运行窗口,输入services.msc,(或者控制面板->管理工具->服务)找到 ...
- SlidingMenu官方实例分析4——AttachExample
AttachExample这个类没有继承BaseActivity,而是FragmentActivity,写到这好像感悟到了 为什么官方现在都推荐使用Fragment而不是Activity,因为Frag ...
- orm查询基本操作
orm ----关系对象模型 orm 的查询两种操作 1.基于对象的查询 oneTo one 一对多 和多对多 对象.关联字段 对象.表名(_set)) 2.基于QUERYset的查询 双下划线即为 ...
- X明X源面试题《二》
一.解释5种访问修饰符答:public-访问不受限制.private-访问范围为它所属的类.protected-访问范围为它所属的类或从该类派生的类.internal-访问范围为当前程序集.prote ...