------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
第一讲 类的声明和实现
一.类的声明
1.关于类的几个名词
(1)类:
.h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end
注意:
.h中的方法只是做一个声明,并不对方法进行实现,即只是说明一下方法名,方法的返回值类型,方法接收的参数类型而已,并不编写方法内部的代码。
.m:类的实现文件,用于实现.h中声明的方法、类的实现使用关键字@implementation和@end
方法:
(2)方法
方法的声明和实现,都必须以+或者-开头
+表示类方法(静态方法)
-表示对象方法(动态方法)
在.h中声明的所有方法作用域都是public类型,不能更改
(3)成员变量(实例变量)
成员变量的常用作用域有三种
@public:全局都可以访问
@protected:只能在类内部和子类中访问
@private:只能在类内部访问
2.类的声明(规定当前类的:类名、属性、行为)
@interface 类名:父类名
{
//定义类的属性
}
//类的行为
@end
例如:车的类的声明
@interface car:NSObject
{
//类的属性
int lunzi;
NSString *color;
int speed;
}
//类的行为(方法)
@end
@implementation 类名
//行为的具有实现
@end
例如:
@implementation Car
//行为的具体描述
@end
第二讲 创建一个变量并访问成员变量
一.在oc中创建一个对象
创建对象语句:[Car new];
1.此语句做了三件事:
(1)向计算机申请内存空间
(2)给类中的每一个成员初始化值
(3)反悔申请的空间的首地址
2.Car *p=[Car new];
理解方式一:
定义了一个Car,类型的指针变量,指针变量指向新申请的内存空间;
理解方式二:用Car类实例化了一个实例对象,对象的名称是p
二.访问成员变量
1.车类的声明改为如下:
<span style="font-size:14px;">@interface Car:NSObject
{
//@public;
int lunzi; //车的轮子
NSString *color;//车的颜色
int speed; //车的速度
}
//类的行为
@end</span>
2.访问成员变量
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建Car类型的对象 car1
Car *car1=[Car new];
//创建一个对象 实质还是指针 (用指针间接访问实例变量值)
car1->lunzi = 3;
car1->speed = 150;
car1->color = @"蓝色";
//查看车的信息
NSLog(@"轮子:%d,速度:%d ,颜色:%@",car1->lunzi,car1->speed,car1->color);
}
return 0;
}