您的位置:首页 > 职场人生

黑马程序员————IOS学习笔记 第2篇 OC面向对象(二)

2015-02-03 19:19 253 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

常用语法

这几节又对OC面向对象的设计进行了深入剖析,对于OC编程语法相比较上节的学习更加具体。如类的声明和实现、方法的定义以及使用,可以发现面向对象封装的最大好处是可以接近人的思维方式,解决问题不需要考虑太多的细节与步骤。于是做了如下的总结:

1.对于类的声明和实现的理解:

声明就好像暴露在外面的时钟表面,实现就好像隐藏在时钟内部的构造实现。

苹果官方文档图例说明了声明和实现的关系:

在声明与实现时注意:

1.只有类的声明,没有类的实现是错误的;

2.@interface@implementation与@end是成对出现的,不能漏掉@end;

3.@interface和@implementation不能嵌套使用,两个类的声明也不能嵌套

4. 没有@interface,只有@implementation,也是能成功定义一个类的方法

2.OC方法和函数的区别:

方法:

1.对象方法都是以减号 -

2.对象方法的声明必须写在@interface和@end之间

对象方法的实现必须写在@implementation和@end之间

3.对象方法只能由对象来调用

4.对象方法归类\对象所有

函数:

1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有

2.函数调用不依赖于对象

3.函数内部不能直接通过成员变量名访问某个对象的成员变量

低级错误:方法有声明,但是实现的时候写成了函数

方法名:

不带参数的方法,如:- (double)pi;

带一个参数的方法,如:- (int)pingFang:(int)num;

带多个参数的方法:如:- (int)sumWithNum1:(int)num1 andNum2:(int)num2;

参数是对象的方法:如:- (int)compareSpeedWithOther:(Car *)other;

注意:

1、冒号也是方法名的一部分;

2、同一个类中不允许两个对象方法同名

4.匿名对象

匿名对象是不提前定义一个指针来接收[类名 new ]创造的对象,而是创造后直接使用。

如:[Car new]->speed = 200; [ [Car new] run]; 前者是访问属性,后者是方法调用

5.类的属性

类的属性可以是所有的数据类型:整型、浮点型、字符、字符指针、结构体、也可以是类。在进行封装时,要选择合理的数据类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: