/*
类:
一类事物共同特征和行为的抽象
大卡车 小轿车 挖掘机
车类: Car
共同的特征(属性): 颜色 速度 轮子
共同的行为: 跑 停止
对象:
类的具体的个体
东风21D(车类的对象)
解放大卡车(车类的对象)
BYD (车的对象)
时风 (车的对象)
2、类的定义
结构体定义
struct Student{
}; ---->定义一个Student 结构体
类的定义分为两部分:
1)类的声明(规定当前类的:类名、属性、行为)
@interface 类名:父类名
{
//定义类的属性
}
//类的行为
@end
2)类的实现(实现具体行为)
@implementation 类名
//行为的具体实现
@end
*/
#import <Foundation/Foundation.h>
//车的类的声明
@interface Car:NSObject
{
//类的属性
int lunzi; //车的轮子
NSString *color;//车的颜色
int speed; //车的速度
}
//类的行为
@end
//类的实现
@implementation Car
//行为的具体描述
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
/*
在OC中用已经存在的类,如何创建一个对象?
回顾C的结构体,结构体如何创建结构体变量
struct Student stu; //stu就是结构体变量
struct Student *pstu; //pstu = &stu;
结构体指针访问 结构体变量中的成员变量值
pstu->age = 20; //给age 设置 值 是 20
OC中对象创建
[Car new];
//做了3件事情
// 1)向计算机申请内存空间
// 2) 给类中的每一个成员初始化值
// 3)返回新申请的空间的首地址
//理解方式一:
//定义了一个Car类型的指针变量
//指针变量指向新申请的内存空间
//理解方式二:
//用Car类实例化了一个实例对象,对象的名称是p
Car *p = [Car new];
*/
#import <Foundation/Foundation.h>
//车的类的声明 车的图纸(类)
@interface Car:NSObject
{
//类的属性
@public;
int lunzi; //车的轮子
NSString *color;//车的颜色
int speed; //车的速度
}
//类的行为
@end
//类的实现
@implementation Car
//行为的具体描述
@end
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;
}