黑马-类名类型 *指针名称 = 【类名 new】和消息机制

时间:2021-09-17 20:41:07

               OC语言中在申明完成员变量与方法实现后在mian函数中要创建新对象,对象或类调用方法的话要“发送消息”。

e.g.  类名如叫Car       int mian ()

                                            { Car   *c  = [Car   new];// 固定写法“定义指针变量c 指向Car类型会创建一个新对象,并且会返回新对象本身(新对象地址)”。

[c run  ];//  给指向对象发送一条 run消息,其实就是在方法声明里实现的方法。

                       [[Car   new]    run];   //  不要写类似匿名对象这样的代码,会有内存泄漏。


      }


Car   *c  = [Car   new]    //   实质是在使用类创建对象之前,会将类加载进内存,只加载一次(还有方法列表),在[Car new]创建完之后,内存会有新空间放置Car对象,并且对象内部有isa指针指向父类(也就是指向类)。


方法和函数的区别:

方法:

1>.对象和类方法都是以“+”或者“-”开头。

                                                                2>.对象或类方法只能由对象或类来调用。

                                                        函数:

1>.可以写在程序的任意位置,因为函数归程序所有。

                                                                2>.不可以直接通过变量名访问变量。

注:类方法中也不能访问实例变量,并且只能用类来调用.