OC - 入门基础知识,类与对象

1.@符号

  1. 在OC中,绝大部分关键字由@开头
    @interface @implementation @end
    @public @protected @private @selector
    @try @catch @throw @required @class
  2. 字符串的定义要添加@,即@“字符串”
  NSString *name = @"姓名";

2.NSlog输出

在OC中用到的打印函数是NSlog,相当于printf

NSLog(@"Hello world");

和printf的区别:

  1. NSLog输出后会自动换行,printf输出后不会自动换行
  2. 使用NSLog需要#import, 使用printf需要#include
    在这里插入图片描述

3. #import

“#”表示的是一个预处理指令。
包含头文件使用,和#include用法相同,并且可以保证你的程序只包含相同的头文件一次。

#import <Foundation/Foundation.h>

4. 拓展名

  1. .h头文件。头文件包涵类的定义、类型、方法以及常量的声明
    
  2. .m 源文件。这个典型的扩展名用来定义源文件。和C语言中多个.c文件的开发是一样的
    

5. BOOL

和C中的bool的区别
BOOL
YES(1),NO(0)
bool
true(!0),false(0)

6. id

这是OC新加的一个数据类型,它是一般的对象类型,能够存储任何类型的方法。

7. nil

在OC中,相对于C中的NULL,用的是nil。这两者是等价的。

8.类

定义一个类需要有两个部分:接口和实现。接口文件包含了类的声明,定义了实例变量和方法。实现文件包含了具体的函数的实现代码。

  1. .h类的声明

语法格式:

@interface 类名 : NSObject
{
声明特征(变量)
}
-声明方法
@end

@interface Person : NSObject
{
  int age;
  NSString *name;
  BOOL isBoy;
}
- (void) eat;
@end

注意: interface在 OC 表示的是头文件的标识。@end表示声明完成

  1. .m类的实现

语法格式:
@implementation 类名
{
特征和变量
}
方法实现
@end

 @implementation Person
{
   float money;
}
- (void) eat{
  NSLog(@"really  good");
}
@end

9. 方法

类似于函数,可以类比函数来学习
在OC中一个类中的方法有两种类型:实例方法,类方法。
实例方法前用(-)号表明,类方法用(+)表明。
在这里插入图片描述
方法声明

//无参
-(void)eat;
//一个参数
- (double)square:(double)number;
//多个参数
-(void)setName:(NSString *)name withAge:(int)age withIsBoy:(BOOL)isBoy;

方法实现

-(void)eat{
    NSLog(@"really  good");
}

- (double)square:(double)number
{
    return number * number;
}

-(void)setName:(NSString *)name withAge:(int)age withIsBoy:(BOOL)isBoy{
    _name = name;
    _age = age;
    _isBoy = isBoy;
}

10. 对象

  1. 定义变量的语法格式
    类名* 变量名;
Person *person;
  1. 创建对象的语法格式为
    [[类名 alloc]初始化方法];
person = [[Person alloc] init];
  1. 通过对象访问成员变量
    对象->成员变量名
person->_name = 3
  1. 通过对象来调用实例方法,通过类调用类方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值