Objective-C Object对象(五)

创建一个类

鼠标右键单击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 类的结束符号
01 #import <Foundation/Foundation.h>
02  
03 @interface MyClass : NSObject
04 {
05  
06     //成员变量
07     NSString * mName;
08     int mNumber;
09 }
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 方法 输出成员变量内容

01 #import "MyClass.h"
02  
03 @implementation MyClass
04  
05 - (id)Myinit
06 {
07     self = [super init];
08     if (self) {
09         // 在这里进行初始化的工作
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 -(void)printInfo{
24  
25     //输出log信息
26     NSLog(@"我的名字: %@",mName);
27     NSLog(@"我的编号: %d",mNumber);
28 }
29  
30 @end

 

HelloWorldViewController.h
MyClass * 用来声明一个指向MyClass的指针
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 方法 指针使用完毕 一定要释放掉 如果不释放的话会造成内存的白白浪费。积少成多,这件事情很可怕的。
01 - (void)viewDidLoad
02 {
03     [super viewDidLoad];
04  
05     //创建对象
06     myClass = [[MyClass alloc] Myinit];
07     //调用对象方法
08     [myClass printInfo];
09     //释放指针
10     [myClass release];
11  
12 }

运行后显示的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值