//1.类与对象
//String 字符串的意思, *str指针的意思,OC里打印用%@;
//NSInteger 长整形long,打印用ld
//数组用NSArray
//@oublic:成员变量的可见度,公开的,共有的,这个可见度在类的外面可以进行对成员变量的内容设置,但是数据非常不安全,所以开发基本不用.
//@protected:被保护的,也是默认的可见度,被保护的成员变量可以在本类和继承它的子类进行使用,不能在主函数进行设置,安全级别提高;
//@private:私有的,安全级别是最高的,被它修饰的成员变量只能在当前类里进行设置,子类也不能使用;
//@package:暂不常用,针对系统的类来使用,我们用不到,直接无视他们.
//创建类用com+n 类名如:Student
//.h文件也可以成为接口文件,在.h里声明类的特征还有行为,类名:冒号后的NObject是类名的父类
//在.h里定义
//例如:
@interface student:NSObject{
//大括号里写特征叫成员变量,先写类型,描述号了,基本数据类型不加*号,字符串加*
//第一节类中先写@public 以后默认用@protected
@public
NSString *_stuName;
NSInteger *stuAge;
CGFloat _stuScore;
NSString *_stuHobby;
NSString *_stuSex;
}
//类的行为
-(void)sayHi;//sayHi是方法名,行为的写法
-(void)eat;
_(void)play;
//类的.m里把.h中类的行为复制到.m中
-(void)sayHi{
NSLog(@"你好");
NSLog(@"name = %@,age = %ld",_student,_stuAge);//方法调用
}
-(void)eat{
NSLog(@"吃饭");
}
-(void)play{
NSLog(@"玩");
}
-(id)init{
//对对象的成员变量进行内容设置
_stuName =@"张三";
_stuAge =23;
_stuHobby =90.5;
_stuSex =@"男";
return self;
}
//回到主函数中 main.m
//向堆空间申请内存
student *stu =[student alloc];//向堆空间申请一块内存大小按student定
//对对象进行初始化设置
stu = [stu init];//下面将两种进行合并
student *stu =[[student alloc]init];//这就是创建一个对象
NSLog(@"%p",stu);
stu->_stuAge = 20;//我们通过成员变量来保存对象的数据
NSLog(@"%ld",stu->stuAge);//更改年两,用->选择取地址用%p打印.
//第一节总结,基本就这样了