码迷,mamicode.com
首页 > 移动开发 > 详细

设计一部iphone手机用面向对象的方法

时间:2015-07-16 20:04:14      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:面向对象   设计   手机   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


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

设计一部iphone手机用面向对象的方法

标签:面向对象   设计   手机   foundation框架   iphone   

原文地址:http://blog.csdn.net/u012701023/article/details/46913643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!