程序员IT 森林

OC之02类与对象04对象行为与方法与函数参数

2015-10-26  本文已影响142人  高俊


对象的行为

我们称对象的行为叫做方法。方法:方法名、参数、返回值(声明、实现)

注意:1、方法的声明放在@interface与@end之间

         2、方法的声明不能写在大括号里面

         3、不必写上大括号、直接在行为后面写上分号

         4、只要你所定义的方法是对象方法(行为)就必须是已建好开头

         5、OC方法中任何数据类型都必须用小括号括住

下面我就将一段写好的代码以图片的形式呈现给大家:

这一段代码就是方法的声明

其中- (void)run;就是方法的声明 注意书写规范就是在减号与括号之间要有空格键个开

这一段就是方法的实现

当然我们只是演示一下效果以后可能在方法的实现中插入动画。

方法与成员变量

方法就是谋个对象的行为,而成员变量是我们对象的属性。

方法是写在大括号外面的,成员变量是写在大括号里面的

方法是必须要有声明与实现的,成员变量是不需要的

对象简单的内存分析

在使用类创建对象之前,类在我们内存中也会占据我们的存储空间,该存储空间是用来放置一些方法的,而且这些方法只会被编译一次

每个对象中都有一个自带指针isa,而这个指针的 作用就是,指向他所对应的类。

当我们使用我们自定义的之后怎去调用该对象的某一个方法时,这个isa指针就会去调用它所对应的类的方法。

注意:成员变量是每一个对象所独有的,而我们的方法也是独有的

对象与函数参数

OC方法中与函数由于有很大的区别

OC中的对象不会自动回收的

这是关于两个的区别

在以后我们会详细讲他们的区别

当我们只执行test函数的时候,我们不会改变我们对象里面的方法值的,

只有我们运用指针的时候才会改变我们对象里面的方法值

在上面的函数中,当我们的函数调用完毕是,会自动消除函数调用时分配的存储空间

这是我们将函数调用完时,内存的存储情况

当我们的test2函数调用完时,他不会将第一个对象的值改变,而是有创建了一个新的对象,并且赋值

常见错误

这个图是苹果官方给出的图样,这个图充分说明了,@interface与@implementation之间的关系

2、方法的实现只能写在@implementation中,其他任何地方都不能写

3、方法声明必须写在@interface里

4、在OC中不允许我们一开始就给成员变量赋值所以下图是错误的

5、不能虽百年将成员变量当做C语言中的变量来使用

6、类的声明必须放在前面,类的实现可以放在后面。

上一篇下一篇

猜你喜欢

热点阅读