上一章我们写了一个非常简单的Obejctive-C下面的Hello,World!的小程序,并且对里面出现的一些新的概念进行了解释。这一章,我们将要深入到objecsive-C的一个基本的要素,也就是类的声明和定义。通过本章的学习,同学们应该可以定义类,给类加上变量,还有通过方法访问类的变量。不过准确的说,变量和方法的名词在objecsive-C里面并不是最准确的称呼,我们暂时引用Java的定义,稍后我们将统一我们的用语定义。
3.1,本章的程序的执行结果。
我们将构筑一个类,类的名字叫做cattle,也就是牛的意思,今年是牛年而且我还想给在股市奋战的同学们一个好的名字,所以我们暂时把这个类叫做牛类。
我们在main里面初始化这个牛类,然后调用这个类的方法设定类的变量,最后调用这个类的一个方法,在屏幕上输出,最终输出的结果如下图3-1所示
图3-1,牛类的输出结果
不过为了熟悉编辑环境以及代码,笔者强烈建议同学们按照下面的步骤自己输入。
3.2,实现步骤
第一步,按照我们在第二章所述的方法,新建一个项目,项目的名字叫做03-Hello Class。当然,你也可以起一个别的更好听的名字,比如说Hello cattle等等,这个并不妨碍我们的讲解。如果你是第一次看本系列文章,请到这里参看第二章的内容。
第二步,把鼠标移动到左侧的窗口的“Source”目录,然后单击鼠标右键,选择“Add”,然后界面上会出来一个子菜单,在子菜单里面选择“New file...” 。如图3-2所示:
图片看不清楚?请点击这里查看原图(大图)。
图3-2,新建文件
第三步,在新建文件对话框的左侧选择“Cocoa touch Classes”,然后在右侧窗口选择“NSobjecs subclass”,然后单击“Next”。如图3-3所示:
图片看不清楚?请点击这里查看原图(大图)。
第四步,在“New file”对话框里面的“file name”栏内输入“cattle.m”。注意,在确省状态下,Xcode为你加上了“.m”的后缀,这个也是编译器识别objecsive-C源文件的方法,没有特殊理由请不要修改这个后缀,否则会让编译器感到不舒服。另外请确认文件名字输入栏的下方有一个“Also create "Cattel.h"”选择框,请保持这个选择框为选择的状态。如图3-4所示。
#import
@interface cattle : NSobjecs {
int legsCount;
}
- (voID)saySomething;
- (voID)setLegsCount:(int) count;
@end
为什么legs
cattle者,牛也;legs者,股也。不过牛股里面的牛正确的英文说法应该是Bull,请大家不要着急,我们会在类的继承里面命名一个Bull类的。
第六步,在项目浏览器里面选择“cattle.m”文件,把文件改为如下代码并且保存:
#import "cattle.h"
@implementation cattle
-(voID) saySomething
{
NSLog(@"Hello, I am a cattle, I have %d legs.", legsCount);
}
-(voID) setLegsCount:(int) count
{
legsCount = count;
}
@end
第七步,在项目浏览器里面选择“03-Hello Class.m” 文件,把文件改为如下代码并且保存:
#import
#import "cattle.h"
int main (int argc, const char * argv[]) {
NSautoreleasePool * pool = [[NSautoreleasePool alloc] init];
ID cattle = [cattle new];
[cattle setLegsCount:4];
[cattle saySomething];
[pool drain];
return 0;
}
第八步,选择屏幕上方菜单里面的“Run”,然后选择“Console”,打开了Console对话框之后,选择对话框上部中央的“Build and Go”,如果不出什么意外的话,那么应该出现入图3-1所示的结果。如果出现了什么意外导致错误的话,那么请仔细检查一下你的代码。
总结以上是内存溢出为你收集整理的Objective-C 2.0 with Cocoa Foundation --- (类的声明和定义 1)全部内容,希望文章能够帮你解决Objective-C 2.0 with Cocoa Foundation --- (类的声明和定义 1)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)