当前位置:   article > 正文

黑马程序员——Objective-C——定义类、方法、创建对象

objective 创建方法

-----Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------

一、类的声明

注意点:类名的的命名规范:有意义、驼峰命名、首字母大写

  1. #import <Foundation/Foundation.h>
  2. // 类的声明
  3. @interface : NSObject
  4. {
  5. @public
  6. int speed; // 时速
  7. }
  8. - (void)run; // 跑的行为
  9. @end

1>成员变量:

  interface中的大括号{}中是声明成员变量(变量默认初始化为0)的。

  @public是变量的访问权限。

  interface中大括号之外是用来声明类方法的。

2>成员变量的作用域:

  @public:任何类。

  @private:类内。

  @protected:类本身与子类。

3> NSObject

  所有类或父类必须继承代表具有创建类对象的能力。

二、类的实现

  1. @implementation Car
  2. - (void) run
  3. {
  4. NSLog(@"时速为%d的车子", speed);
  5. }
  6. @end

 三、创建对象

  1. //在非ARC内存管理模式下int main()
  2. {
  3. //创建车子对象  Car *c = [[Car alloc]init];//此处会retain一次  c->speed = 300;  [c run];  [c release];//这里需要释放对象资源  return 0;
  4. }

 四、常见错误

  1> 只有类的声明,没有类的实现。

  2>漏了@end。

  3>@interface和@implementation嵌套。

  4>两个类的声明嵌套。

  5>成员变量没有写在括号里面。

  6>方法的声明写在了大括号里面。

 五、Objective-C与函数的区别

  1>oc方法只能声明在@interface和@end之间,只能实现在@implement和@end之间,归对象和类所有(依赖于对象)。

  2>函数可写在除@interface外文件任何地方,归文件所有(不依赖于对象)。

  3>oc方法以减号或加号开头,函数则不需要。

六、方法的定义

1>不带参数的方法定义:

  1. // 方法声明
  2. - (double)pi;
  3. // 方法实现
  4. - (double)pi
  5. {
  6. return 3.14;
  7. }

无参数方法实例图:方法类型可以是加号或减号

 

无参方法调用实例图:

  

2>带单个参数方法的定义:

  1. // 方法声明
  2. - (double)square:(double)number;
  3. // 方法实现
  4. - (double)square:(double)number
  5. {
  6. return number * number;
  7. }

 带单个参数方法的实例图:

带单个参数方法的调用:

3>多个参数方法的定义:

  1. // 方法声明
  2. - (double)sumOfNum1:(double)num1 andNum2:(double)num2;
  3. // 方法实现
  4. - (double)sumOfNum1:(double)num1 andNum2:(double)num2
  5. {
  6. return num1 + num2;
  7. }

 多个参数方法定义实例图:

多个参数方法的调用:

七、方法名注意点:

1>冒号也是方法名的一部分。

2>同一个类不允许两个对象方法同名。

八、匿名对象:

[[car new] run]; //在非ARC内存管理模式下不建议这样使用,导致占用内存不能及时释放。

 

转载于:https://www.cnblogs.com/comcn/p/4347557.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/43307
推荐阅读
相关标签
  

闽ICP备14008679号