Objc编程2-类的抽象和构成
2015-09-21 18:23
351 查看
Objc编程2-类的抽象和构成
Objc的类的构成
属性,成员变量,用于描述类的数据信息
方法,用于描述类的行为,方法和函数类似,但方法是属于一个类的,不能独立存在,而函数可以独立存在
类的构成举例
人类可以使用一个Person类来描述
人类具体包含他本身的一些特征和行为,特征在Objc代码中写为属性,行为写为方法;
人类包含的属性是:姓名,性别,年龄,收入,这些信息写成代码是Objc的属性
人类包含的行为是:吃饭,睡觉,工作等,这些信息写为方法
(1)使用普通英语描述上述内容
Person类包含//1.第一部分:人的特征 name sex age income //2.第二部分:人的行为 eat sleep work
(2)把上述描述转换为Objc代码
//1.第一部分 :人的特征转换为属性语法 @property NSString *name; @property NSString *sex; @property int age; @property double income; //2.第二部分 :人的行为转换为方法(注意:下面的只是方法声明,没有具体的过程代码) - (void)eat; - (void)work:(double)hours; - (int)age;
(3)对上述代码的详细说明
(1)属性语法规则
1.@property NSString *name;声明一个字符串类型的属性,该属性名是name 2.@property声明属性关键字 3.NSString 是Objc的字符串类型,例如 @"123"就是该类型 4.NSString *是指的一个Objc的字符串对象,Objc的字符串对象都使用: 类名 * 对象名的形式,意思是通过一个指针去管理一个对象 5.对于C语言基本类型如,int double char等不能使用 *号 6.该属性,例如name属性可以用来存储字符串类型的姓名数据 7.@property的背后:一旦使用@property 类型 xxx,系统会给我们创建两个方法,一个是setXXX: 该方法用于存储给name属性设置值,另一个是xxx方法,该方法用于取name属性的值(了解即可后续详细讲解) 8.属性命名规则遵守驼峰命名法,即名称如果由多个单词构成则第一个单词的首字母小写,其他单词的首字母大写
(2)方法构成规则
1.方法的构成: + 空格 (返回值值类型)方法名:(参数类型)参数名 - 空格 (返回值值类型)方法名:(参数1类型)参数1名 :(参数2类型)参数2名... 2.方法的几点说明: (1)+号和-号代表方法的类型,+号代表是类方法(又称静态方法)需要使用类名来调用,-号代表是对象方法(又称实例方法),需要使用对象来调用 (2)Objc的返回值或者参数类型需要使用圆括号 (3)Objc中的方法的一个冒号代表一个参数,有多少个参数则有多少个冒号,没有参数则没有冒号;例如没有参数的方法, - (void)test;有2个参数的方法- (int)add:(int)a :(int)b; (4)Objc返回值类型和参数类型可以使用C语言类型和Objc类型均可 3.方法名遵守驼峰命名法 4.第二部分的方法没有方法体,即没有具体的执行代码,只是方法的声明,一个完整的包含实现代码的方法如下: - (int)add:(int)a :(int)b{ int sum = 0; sum = a+b; return sum; } - (int)add:(int)a :(int)b;是对上面方法的声明,类似函数的声明,方法的类型,方法名完全一致.
(4)练习题:参照Person相关的描述办法,请描述一个类,如 车Car,猫Cat类...
更多OC教程http://blog.csdn.net/yangbingbinga/article/category/2437601相关文章推荐
- C++中一些有用库函数
- PHP几个函数pathinfo()、dirname()、basename()
- C语言判断“1000年—2000年”之间的闰年
- Java垃圾回收机制2
- Django学习中的问题总结
- C++Primer 中间Sales_items.h头文件
- Decode error - output not utf-8
- eclipse maven plugin 插件 安装 和 配置
- 关于php读mysql数据库时出现乱码的解决方法
- Java垃圾回收机制1
- 第十二章:File类和流
- Java的String为什么要设计成final
- c++对象内存布局
- LibRTMP源代码分析3
- Java虚拟机1:什么是Java
- 一些可复用的编程小技巧
- java学习笔记之HashMap经典分拣存储
- spring AOP记录日志
- C++ 随机数
- java的报表下载代码excel