当前位置: 代码迷 >> Iphone >> 设计一部iphone手机用面向对象的步骤
  详细解决方案

设计一部iphone手机用面向对象的步骤

热度:169   发布时间:2016-04-25 05:36:44.0
设计一部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


版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案