1.头文件名称的写法:例如 demo.h
实现文件的写法(c++中cpp文的写法) demo.m
2.NSLog和printf这两种打印的方式
NSLog:NSLog(@"我的姓名"); 注意:要加上@
printf:printf("我的姓名");
相对于printf来说,NSLog更好些,它添加了特性,例如时间戳,日期戳和自动附加换行符;
@表示引用的字符串应该作为Cocoa的NSString元素来处理
只要有@,那么就可以看作是c语言的扩展
3.头文件的声明方式
#import <Foundation/Foundation.h> //告诉编译器查看Foundation框架中的Foundation.h头文件
#import "demoClass.h"
@implementation demoClass // @implementation是一个编译器指令,表明你将为某个类提供代码,注意最后没有分号
4.头文件中成员变量定义的方式
- @interface demoClass : NSObject//做为接口的存在,NSObject告诉编译器,demoClass这个类是基于NSObject这个(所有类的)超类的,并继承NSObject类定义的所有行为
- {
- int _id;
- int _age;
- }
5.关于函数方法
(1)声明方式
+ 代表这个方法是类的方法,也就是说只能用类名调用
- 代表这个方法是对象的方法,就是说只能用类的对象来调用
+(方法类型)方法名 : (成员变量的类型)变量名
例如:
- (void)demoClass:(int)id andAge:(int)age;
+ (void)demoC:(int)id andAge:(int)age;
(2)实现 //在实现的时候不用加 类名:: 这种标识
- (void)demoClass:(int)id andAge:(int)age
{
//直接赋值
_id = id;
_age = age;
}
(3)在main函中的 调用
- [demoC demoC:1 andAge:22];//调用的是 +(void)demoC:(int)id andAge:(int)age;
- [demoClass *d = [demoClass new];//或 demoClass *d1 = [[demoClass alloc]init];//创建对象的方法
- [d demoClass:2 andAge:33];//调用的是 -(void)demoClass:(int)id andAge:(int)age;
6.set和get方法
(1)声明
set方法:
- (void)setId:(int) id;
- (void)setAge:(int) age;
get方法:
- (int)id; //就是类型名+属性名
- (int)age;
(2)实现
//set方法
- (void)setId:(int)id
{
_id = id;
}
- (void)setAge:(int)age
{
_age = age;
}
//get方法
-(int)id
{
return _id;
}
-(int)age
{
return _age;
}
(3)在main函数种调用
- demoClass *d = [demoClass new];
- [d set_id:3423]; //调用 -(void)setId:(int)id
- NSLog(@"id= %d",[d _id]); //[d _id]调用 -(int)id
- [d set_age:555555]; //调用 -(void)setAge:(int)age
- NSLog(@"age= %d",[d _age]); //[d _age]调用 -(int)age