Objective-C语法之Object对象的那些事儿(五)

来源:互联网 发布:mac电源已接通 灯不亮 编辑:程序博客网 时间:2024/04/27 18:41
Objective-C语法之Object对象的那些事儿



雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archives/401
创建一个类

鼠标右键单击HelloWorld工程,弹出列表选择框后 单击 New File... 在工程中添加一个新的文件。




选择创建一个Objective-C.class的 文件,点击next继续创建。




选择当前创建类的父类,这里选择NSObject 表示继承普通的object类,UItableViewCell 与 UIview 这两个是ios显示相关的,这里暂时先不说明。继续点击Next创建这个类。







选择类的名称,这里默认的名称是MyClass,这里只是test我就不修改了~





单击Save后MyClass这个类就完整的创建完毕。它帮我们生成了两个文件 MyClass.h 与 MyClass.m, 这个和C++ 中的.h 与.cpp 基本一样 。只不过在这里.h 是去写成员对象名 成员方法名 等, 而.m是去写 具体成员方法 与成员对象 的相关实现。


MyClass.h 

Foundation os下的一个大的框架,它包括所有的类 方法 集合 等等,所以这里需要导入它。
@interface  类的开始的标识符号 ,好比Java  或 C 语言中的Class   
@end 类的结束符号
 
[cpp] view plaincopy
  1. #import <Foundation/Foundation.h>  
  2.   
  3. @interface MyClass : NSObject  
  4. {  
  5.          
  6.     //成员变量   
  7.     NSString * mName;  
  8.     int mNumber;  
  9. }  
  10.   
  11. //成员方法  
  12. - (id)Myinit;  
  13. -(void)setInfo:(NSString *) name: (int) number;  
  14. -(void)printInfo;  
  15.   
  16. @end  


MyClass.m

@implementation 标识符 作用实现.h中 的具体方法与对象
@end 同样为类的结束符号

-(id)init 这个方法 用于类的初始化创建,每一个类在创建的时候需要调用init方法,使用父类拿到self指针后,在这里可以做一些子类初始化的工作。
-(id)init 方法名称可以任意修改,但是alloc的时候需要写入修改后的名称,这里我们写成
-(id) MyInit

-(void)setInfo 方法 用于参数的传递 和C 与java 有点区别 习惯了就好了 嘿嘿

-(void)printInfo 方法 输出成员变量内容

[cpp] view plaincopy
  1. #import "MyClass.h"  
  2.   
  3. @implementation MyClass  
  4.   
  5. - (id)Myinit  
  6. {  
  7.     self = [super init];  
  8.     if (self) {  
  9.         // 在这里进行初始化的工作  
  10.         [self setInfo: @"雨松MOMO":9527];  
  11.     }  
  12.       
  13.     return self;  
  14. }  
  15.   
  16. -(void)setInfo:(NSString *) name: (int) number  
  17. {  
  18.     //参数的传递赋值  
  19.     mName = name;  
  20.     mNumber = number;  
  21. }  
  22.   
  23.   
  24. -(void)printInfo{  
  25.   
  26.     //输出log信息  
  27.     NSLog(@"我的名字: %@",mName);  
  28.     NSLog(@"我的编号: %d",mNumber);  
  29. }  
  30.   
  31. @end  


HelloWorldViewController.h

MyClass * 用来声明一个指向MyClass的指针

[cpp] view plaincopy
  1. #import <UIKit/UIKit.h>  
  2. #import "MyClass.h"  
  3.   
  4. @interface HelloWorldViewController : UIViewController  
  5. {  
  6.       
  7.     MyClass *myClass;  
  8. }  
  9. @end  


HelloWorldViewController.m


-(void)viewDidLoad 方法 为界面读取时调用 这里做语法测试 暂时相关代码先写在这里


Myinit 方法 就是我们在MyClass中重写的初始化方法,这里初始化直接调用我们自己写的方法初始化。

priintInfo 方法 通过创建后的MyClass指针 可以直接调用 类方法 输出信息


release 方法 指针使用完毕 一定要释放掉 如果不释放的话会造成内存的白白浪费。积少成多,这件事情很可怕的。

[cpp] view plaincopy
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     
  5.     //创建对象  
  6.     myClass = [[MyClass alloc] Myinit];  
  7.     //调用对象方法  
  8.     [myClass printInfo];  
  9.     //释放指针  
  10.     [myClass release];  
  11.       
  12. }  



运行后显示的结果


原创粉丝点击