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

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

一、类的声明

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

#import <Foundation/Foundation.h>
// 类的声明
@interface : NSObject
{
    @public
     int speed; // 时速
}
- (void)run; // 跑的行为
@end

1>成员变量:

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

  @public是变量的访问权限。

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

2>成员变量的作用域:

  @public:任何类。

  @private:类内。

  @protected:类本身与子类。

3> NSObject

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

二、类的实现

@implementation Car
- (void) run
{
    NSLog(@"时速为%d的车子", speed);
}
@end

 三、创建对象

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

 四、常见错误

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

  2>漏了@end。

  3>@interface和@implementation嵌套。

  4>两个类的声明嵌套。

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

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

 五、Objective-C与函数的区别

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

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

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

六、方法的定义

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

// 方法声明
- (double)pi;
// 方法实现
- (double)pi
{
    return 3.14;
}

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

 

无参方法调用实例图:

  

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

// 方法声明
- (double)square:(double)number;
// 方法实现
- (double)square:(double)number
{
    return number * number;
}

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

带单个参数方法的调用:

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

// 方法声明
- (double)sumOfNum1:(double)num1 andNum2:(double)num2;
// 方法实现
- (double)sumOfNum1:(double)num1 andNum2:(double)num2
{
    return num1 + num2;
}

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

多个参数方法的调用:

七、方法名注意点:

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

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

八、匿名对象:

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值