类和对象
类事具有相同的特征和行为的事物的抽象
特征是静态的 行为是动态的
对象是类的实例 类是对象的类型
类是抽象的概念 对象是具象的类型
.h文件属于当前类的接口部分,来描述当前类有哪些特征和行为
类的接口部分的关键字 是 @interface...@end
Car是类名,本类名。NSObject是Car的父类,NSObject是OC中的根类
@interface Car : NSObject
特征,特征要写在大括号内部, 特征也叫实例变量
{
NSString *_brand;//品牌是字符串,OC中用NSString这个类来描述字符串,所以品牌这人类型要带*,类型是NSString *,特征名称一定要一下划线开头,特征名为_brand
NSString *_color;//颜色
CGFloat _price;//价格,CGFloat在64位系统下是double,因为现在是OC阶段,我们尽量少去使用C语言的数据类型
NSInteger _maxSpeed;//最大速度,重定义之后的长整形(long)类型;
}
行为,也称为类的方法
- (void)drive;//行驶
创建对像分两步,开辟空间,初始化
1.开辟空间,在堆区开辟一块空间,来存放对像,并且将开辟好的堆区首地址返回给外界。但是此时,实例变量并没有初值
Car *car = [Car alloc];
2.初始化,将开辟好的堆区上的对象中的实例变量,赋初值
car = [car init];
Car *car1 = [[Car alloc] init];
访问car1的实例变量,实现赋值和取值
如果实例变量可见度是用@public修饰的,外界可以通过对象名->实例变量 来访问实例变量
car1->_brand = @"劳斯莱斯";
car1->_color = @"黑色";