Objective-C研究院之Object对象(五)
来源:互联网 发布:linux 显示时区 cst 8 编辑:程序博客网 时间:2024/05/22 23:55
原创文章如需转载请注明:转载自雨松MOMO程序研究院本文链接地址: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
}
运行后显示的结果
- Objective-C研究院之Object对象(五)
- Objective-C Object对象(五)
- Objective-C研究院之词典对象(八)
- Objective-C研究院之数组对象(七)
- Objective-C研究院之数组对象(七)
- Objective-C研究院之词典对象(八)
- Objective-C研究院之集合对象(九)
- Objective-C研究院之数组对象
- Objective-C语法之Object对象的那些事儿(五)
- Objective-C语法之Object对象的那些事儿(五)
- Objective-C语法之Object对象的那些事儿(五)
- Objective-C研究院之NSMutableString(四)
- Objective-C研究院之NSMutableString
- Objective-C研究之Object对象学习
- objective-c(五)-面向对象之初见
- Objective-C研究院之基础语法(一)
- Objective-C研究院之常用数据(二)
- Objective-C研究院之NSString字符串(三)
- Linux 常用命令
- 创建和读写linux下面的/proc文件
- HDU1162 Eddy's picture
- 点击(鼠标经过)左边的文字,右边出现相应的图片
- Codejam 之 初章
- Objective-C研究院之Object对象(五)
- CentOS 6.2 使用第三方yum源安装更多rpm软件包
- 【最短路】智捅马蜂窝
- 将阿拉伯数字转为中文大写读法
- 关于keil中data,idata,xdata,pdata,code的问题
- ubuntu12.04与Nexus7进行数据连接
- Spring的事务配置的方式
- Unity3D研究院之与根据动态的两个轨迹点绘制面详解(二十)
- .Net内存管理机制详解