标签:面向对象 设计 手机 foundation框架 iphone
main.m
//编辑字体大小command + < //编译运行快捷键 com + R #import <Foundation/Foundation.h> #import "Iphone.h" //要使用类文件创建对象 //1.要使用#import 引入相关的.h文件 //2.创建一个对象 //3.对对象的成员变量进行赋值操作 //#import的作用 //1.能够引入相应的头文件,提供快捷代码提示 //2.能够自动防止重复引入头文件 int main(int argc, const char * argv[]) { Iphone * phone = [Iphone new]; phone->_ram = 512; phone->_cpu = 1.5; //%@实际上是对象占位符 NSLog(@"%@",phone); /*实例3 char * s = "abc"; //oc中定义一个字符串变量 NSString * str = @"abcd"; NSString * str2 = @"efg"; NSLog(@"%@",str); NSLog(@"%@ %@",str,str2); //stringWithFormat专门用来拼接字符串方法 //使用方法和NSLog一样 NSString * str3 = [NSString stringWithFormat:@"%@ %@",str,str2]; */ //如何创建一个OC对象呢? //1.必须要调用创建对象的方法, new 专门用来创建对象 //2.oc只要调用方法就必须在[ ]内实现 //phone 就叫做实例变量,保存一个对象的指针地址 //1.开辟内存空间,来存储对象 //2.初始化成员变量的值为 0 //3.返回对象的指针地址 //Iphone * phone = [Iphone new]; //直接对对象的成员变量进行赋值 //phone->_ram = 512; //phone->_cpu = 1.5; // NSLog(@"phone cpu %.2f,ram %.2f",phone->_cpu,phone->_ram); //'-[Iphone aboutMyPhone]: unrecognized selector sent to instance 0x100102d70'没有实现 //OC中方法调用又叫做发送消息,也就是常说的消息机制 //[phone aboutMyPhone]; // [phone sendMessag:"are you ok?"]; //[phone sendMessag:"are you ok?":"123456"]; // [phone sendMessagWithMessageContent:"are you ok?" andPhoneNumber:"13527689735"]; // insert code here... //1.不需要添加\n换行 //2.会自动打印一些与系统相关信息 //3.要拼接字符串需要用%@占位符 //4.OC中使用的字符串必须使用@“”表示 /* //示例代码1 int year = 2015; int month = 7; int day = 15; NSLog(@"Hello, World %d %d %d %@!",year,month,day,@"今天开学了"); printf("hello world %d %d %d\n",year,month,day); */ return 0; }
iphone.h
#import <Foundation/Foundation.h> //@interface类文件的声明开始 //@end 类文件声明结束 //:NSObject 继承的语法,默认所有的类都继承自NSObject基础类 //语法规则: //1.类名命名规则:驼峰命名法,并且首字母必须大写 //2.成员变量:一定要下划线开头 @interface Iphone : NSObject { //@public 被修饰的成员变量,在类的外部可以直接访问 @public float _cpu;//用来存储CPU的大小 float _ram;//用来存储内部容量大小 }//专门用来声明成员变量 //OC中的方法 //1.叫做对象方法 //只能使用对象(实例变量)调用 //并且必须以 - 号开始声明 //OC中只要是在方法声明中出现的数据类型必须使用()扩住 - (void)aboutMyPhone; //C语言之中的方法void sendMessage(char * content) //发送消息 //OC方法声明中有多少个参数,就必须对应多少个: //.h与.m文件之间的快速切换 control + com + 上/下 -(void)sendMessag:(char *)content; -(void)sendMessag:(char *)content andPhoneNumber:(char *)phoneNumber; //oc中的方法命名注重的是自注释,也就是能够直接通过方法的名称,解读出具体方法的功能 -(void)sendMessagWithMessageContent:(char *)messageContent andPhoneNumber:(char *)phoneNumber; //2.类方法 @end
iphone.m
#import "Iphone.h" //@implementation类实现部分的开始 //@end 类实现部分的结束 //.m文件就是用来实现.h文件中声明的一系列方法的作用 @implementation Iphone //1.能拷贝不手写 //2.尽可能的使用代码提示功能 -(void)aboutMyPhone{ //单行注释快捷键com + ? //快速定 位到行首/尾com + 左键/右键 //快速选中当前行 com + shift + 左键/右键 // NSLog(@"aboutMyPhone已经实现了"); //在类的内部可以直接使用成员变量的名称去获得成员变量的值 NSLog(@"phone cpu %.2f,ram %.2f",_cpu,_ram); } -(void)sendMessag:(char *)content { NSLog(@"%s",content); } -(void)sendMessag:(char *)content andPhoneNumber:(char *)phoneNumber { NSLog(@"给%s发送消息%s",phoneNumber,content); } -(void)sendMessagWithMessageContent:(char *)messageContent andPhoneNumber:(char *)phoneNumber { NSLog(@"给%s发送消息%s",phoneNumber,messageContent); } //重写description方法 //description建议大家在实际开发中都要重写这个方法,然后将类中有意义的成员变量打印出来,这样非常方便我们调试程序 -(NSString *)description { //优化 return [NSString stringWithFormat:@"我的cpu=%.1f我的内部存储是=%.1fMB",_cpu,_ram]; NSString *result = [NSString stringWithFormat:@"我的cpu=%.1f我的内部存储是=%.1fMB",_cpu,_ram]; return result; return @"ffffffff"; } @end
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:面向对象 设计 手机 foundation框架 iphone
原文地址:http://blog.csdn.net/u012701023/article/details/46913643