Objective-C类,对象,方法

Objective-C采用特定的语法对类和实例应用方法:

[ ClassOrInstance method];

左方括号后要紧跟类的名称或者该类的实例名称,它后面可以是一个或多个空格,空格后面是将要执行的方法。最后,使用右方括号和分号来终止。请求一个实力或类执行某个操作时就是在向它发生一条消息。

#import <Foundation/Foundation.h>

这是一个系统文件,#import表示将该文件的信息导入或包含到程序中,就像在这里输入该文件的内容。要导入文件Foundation.h因为它包含其他类和函数的有关信息,在程序后面的部分中会用到。

Int main(int argc,const char * argv[])

制定程序的名称为main,是一个特殊的名称,用于准确滴表示程序将在何处开始执行。Main之前的保留字int指定main返回的值类型,该值为整形。

@autoreleasepool{   }

{}之间的程序语句会在被称为自动地释放池的语境中执行。自动释放池的机制是:它使得应用在创建新对象时,系统能够有效地管理应用所使用的内存。NSLog()函数的参数是@”Programming is fun”此处的@位于一对双引号的字符串前面,这称为常量NSString对象。

NSLog是一个Objective-c库中的函数,他仅仅显示或记录其参数,但是之前它会显示该函数的执行日期和时间程序名。

Return 0表示要终止main的执行并发送回一个状态值0

@interface部分:

定义新类时,首先需要告诉Objective-C编译器该类来自何处。即必须为它的父类命名。其次,还必须定义在处理该类的对象时将要用到的各种操作或方法的类型。

选择名称:

Objective-C中变量可以用于存储浮点数,字符,甚至对象(对象的引用)。制定名称的规则相当简单:名称必须以字母或下划线开头,之后可以是任何字幕,下划线或者0-9之间的数字组合。NSArray *colorArray=@[@”red”,@”blue”,@”green”];

类方法和实例方法:

必须定义各种方法才能使用Fraction

Print方法的声明,应该位于接口文件中:

-(void) print;

开头“-”通知Objective-C编译器,该方法是一个实例方法。此外正好“+”表示类方法。类方法是对类本身执行某些操作的方法。如创建类的新实例。

实力方法能够对类的实例执行一些操作,如设置值,检索值,和显示值。

1.返回值:

声明新方法时,必须告诉Objective-C编译器该方法是否又返回值,如有是哪种类型。做到这一点,需要将返回类型放入开头的负号或正号之后的圆括号。因此,声明:

-(int) currentAge;

指定名为currentAge的实例方法将返回一个整形值

类似地语句:

-(double) retrieveDoubleValue;

声明了一个返回双精度值的方法。

如果方法不返回值,可用void类型指明,语句如下:

-(void) print;

这条语句声明了一个名为print的方法,它不返回任何值。

2.方法的参数:

-(void) setNumerator:(int)n;

-(void) setDenominator:(int) d;

他们都是不返回值的实例方法。每个方法都有一个整形参数,这是通过参数名前面的int指明的。

-             (void)       setNumerator    :                (int)         n;

方法类型    返回类型    方法名称        方法有参数      参数类型    参数名称

 @implementation部分:

与注释一样,@implementation部分包含声明在@interface部分的方法的实际代码,且需要制定存储在类对象中的数据类型。在@interface部分声明方法,并在@implementation部分定义它们,@implementation部分的一般格式如下:

@implementation NewClassName

{

  memberDeclarations;

}

methodDefinitions;

@end;

NewClassName表示的名称与@interface部分名称相同。可以再父的名称之后使用冒号:

如同在@interface部分使用冒号一样:

2implementation Fraction:NSObject

memberDeclarations部分指定了哪种类型的数据将要存储到Fraction中以及这些数据类型的名称。

@implementation部分中的methodDefinitions部分包含在@interface部分指定的每个方法的代码中。与@interface类似每种方法的定义通过方法的类型,它的返回值和参数进行标识,我们并没有使用分号来结束该行,而是将之后的方法代码放入一对花括号中。使用@synthesize指令能够让编译器自动为你生成一些方法

myFraction =[Fraction alloc];

Allocallocate的缩写。因为要为新分数分配内存存储空间,表达式为:[Fraction alloc]

想新创建的Fraction类发送一条消息。该alloc方法继承自父类。如果向某个类发送alloc消息,便获得该类的新实例。Alloc方法保证对象的所有实例变量都变成初始状态。在创建对象之后还必须对它进行初始化:

myFraction=[Fraction init];

Init方法用于初始化类的实例变量。将init消息发送给myFraction.init方法也可以返回一个值,即被初始化的对象。将返回值存储到Fraction的变量myFraction中。

Fraction*myFraction;

myFraction前的星号*表明myFractionFraction对象的引用或指针。变量myFraction实际上并不存储Fraction数据而是存储了一个引用,表明对象数据在内存中的位置。在声明myFraction时它的值是未定义的,它没有被设定为任何值,并且没有默认值。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值