标签:面向对象 设计 手机 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.类方法
@endiphone.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