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方法,自动生成属性)的更多相关文章

  1. [图解教程]Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法

    [图解教程]Eclipse不可不知的用法之一:自动生成Getter.Setter和构造方法 关键词:Getters and Setters.getter和setter方法.Constructor us ...

  2. 【Unity3D】资源对象、预设、查找对象、组合模式等知识点

    1.解释对象与资源区别于联系,根据官方案例,分别总结资源和对象组织的规则/规律.    下载并查看了Adam和Survival Shooter tutorial两个官方资源案例,这些案例作为资源,可以 ...

  3. 16. 星际争霸之php设计模式--组合模式

    题记==============================================================================本php设计模式专辑来源于博客(jymo ...

  4. 设计模式16---设计模式之组合模式(Composite)(行为型)

    1.场景模拟 使用软件模拟大树的根节点和树枝节点和叶子节点 抽象为两类,容器节点和叶子节点 2.不用模式的解决方案 package demo14.composite.example1; import ...

  5. C#学习笔记-组合模式

    什么是组合模式? 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 何时使用组合模式? 当需求中是体现部分与 ...

  6. 设计模式总结篇系列:组合模式(Composite)

    在探讨Java组合模式之前,先要明白几个概念的区别:继承.组合和聚合. 继承是is-a的关系.组合和聚合有点像,有些书上没有作区分,都称之为has-a,有些书上对其进行了较为严格区分,组合是conta ...

  7. 设计模式(9)--Composite(组合模式)--结构型

    1.模式定义: 组合模式属于对象的结构模式,有时又叫做“部分——整体”模式.组合模式将对象组织到树结构中,可以用来描述整体与部分的关系.组合模式可以使客户端将单纯元素与复合元素同等看待. 2.模式特点 ...

  8. Java 设计模式系列(九)组合模式

    Java 设计模式系列(九)组合模式 将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式使得用户对单个对象的使用具有一致性. 一.组合模式结构 Component: 抽象 ...

  9. 设计模式-组合模式(Composite Pattern)

    本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 前置技能:认识数据结构中的树形结构. 组合模式简介 组合模式是将对象组合成树形结构以表示“部分- ...

随机推荐

  1. js中级系列三:前端性能优化

    原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 链接:http://www.zhihu.com/question/21658448/answe ...

  2. mount rootfs

    主要用到的命令为pivot_root,可man 8 pivot_root了解用法. 1. pivot_root - change the root filesystem pivot_root new_ ...

  3. Servlet 部署

    默认情况下,Servlet 应用程序位于路径 <Tomcat-installation-directory>/webapps/ROOT 下,且类文件放在 <Tomcat-instal ...

  4. Hibernate一对多映射列表实例(使用xml文件)

    如果持久化类具有包含实体引用的列表(List)对象,则需要使用一对多关联来映射列表元素. 在这里,我们使用论坛应用场景,在论坛中一个问题有多个答案. 在这种情况下,一个问题可以有多个答案,每个答案可能 ...

  5. python 爬虫3 异常处理

    1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常.下 ...

  6. makefile编写---单个子目录编译模板

    经过这次地库项目之后,虽然时间不久,跟团队在一起,虽然队员不一定在技术上有过人之处,但是来自大公司的员工,在工具使用和代码规范方面还是有点可鉴之处,在搭建主控模块是,就得面临makefile编写,因为 ...

  7. 在MathType中输入罗马数字的方法

    MathType作为数学公式编辑器的编辑功能非常的强大,其中包含了许许多多各种各样的数学符号,甚至标记符号也很全面.编辑公式时有时为了让公式看起来会更有条理,会进行一定的序号设置,当然也可以对公式进行 ...

  8. python3----split and join

    s = "I am fine" s = s.split(" ") print(s) print("%".join(s)) results: ...

  9. ios [__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a97d4c0'报错

    今天接口由get换成post,我去改进行登录但出现了这个错误,首先出错先看能不能与服务器交互,能不能获得数据,其次,获得的数据是不是你想要的,记住,首先出错要想到是自己的问题,还有就是程序崩了要学会自 ...

  10. weex - 创建项目

    初始化 请确保你已经安装了 Node.js,然后全局安装 weex-toolkit. npm install weex-toolkit -g 这条命令会向你命令行环境中注册一个 weex 命令.你可以 ...