pragma mark 第一个OC方法
pragma mark 概念
/**
// OC中的类方法用 + 表示, OC中的对象方法用 - 表示
*/
pragma mark 代码
#import <Foundation/Foundation.h>
/*
事物名称:iPhone
属性: 颜色, 型号, CPU, 尺寸 == 成员变量
行为: 打电话, 发短信, 上网, 获取本机信息 == 成员方法
*/
// 1.编写类的声明
@interface IPhone : NSObject
{
@public
float _model; // 型号
int _cpu; // CPU
double _size; // 尺寸
int _color; // 颜色
}
// 行为
// OC中的行为 和 C语言中的函数一样, 都是用来保存一段特定功能的代码
// C语言中定义一个函数, 分为声明和实现 , 声明写在.h中, 实现写在.c中
// OC中定义一个方法, 也分为声明和实现, 声明写在interface中, 实现写在@implmentation中
// C语言的函数分两种 : 内部函数和外部函数
// OC中的方法也分为两种; 类方法和对象方法
// 类方法只能用类名调用, 对象方法只能用对象调用
// OC中的类方法用 + 表示, OC中的对象方法用 - 表示
// 编写C语言函数的规律: 1.确定函数名称 2.确定形参 3.确定返回值 4.确定返回值类型
// 编写OC方法也有规律, 规律和C语言一模一样
// C语言函数
//void about()
//{
// printf("model = cpu = size = color");
//}
// OC 方法
// 注意: OC中的方法, 如果没有形参不需要写(), 而是直接写一个;
// 为什么OC没有形参不需要写()呢? 因为OC方法中的()有特殊的用途,OC方法中的() 是用来 扩住数据类型的
-(void)about;
@end
@implementation IPhone
// 行为的实现
-(void)about
{
NSLog(@"打印本机信息 %i",self->_cpu);
}
@end
int main(int argc, const char * argv[])
{
// 通过类创建对象
IPhone *p = [IPhone new];
p->_size = 5.5; //is protected(是 受保护的)
p-> _color = 0;
p->_model = 4;
p->_cpu = 22;
// 获取对象的属性
NSLog(@"size = %f,color = %i,model = %f,cpu = %i",p->_size,p->_color,p->_model,p->_cpu);
// OC中的类 其实 本质就是一个结构体, 所以p这个指针 其实就是指向了一个结构体
// 如何给对象发消息 (如何调用对象方法)
[p about];
return 0;
}