从命令行程序学习Objective-C的类和函数

【实验环境】

虚拟机下玩IOS着实让人想掀桌(╯‵□′)╯︵┻━┻啊衰,VMWare版本,Mac OS版本,Xcode版本,IOS系统版本相爱相杀太惨烈,简直不忍直视系列。亲测VMWare12,MACOS10.10.5,Xcode7.2可以互相兼容,最高支持的IOS运行版本为9.2,附上下载地址,安装教程可自行百度。

VMWare WorkStations 12 :链接:http://pan.baidu.com/s/1dETuoMH 密码:mcxb

MACOS 10.10:链接:http://pan.baidu.com/s/1nvJQJI5 密码:c3l3  ps:按照百度教程可升级到10.10.5

【解析Objective-C类】

在Xcode默认的命令行工程的基础上,创建新的文件,命名为Student,用于录入某位学生的姓名,语文成绩,数学成绩和英语成绩。

创建完成后,Xcode工程中自动添加Student.h和Student.m两个文件,与C++的头文件和类文件异曲同工,此时,Xcode的工程结构如下图所示

其中,.h文件用于声明了类的变量和方法,.m文件首先引用.h文件,并实现其声明的方法。

Student.h

#import <Foundation/Foundation.h>

@interface Student : NSObject{
    NSString* _name;
    int       _chinese;
    int       _math;
    int       _english;
}

-(void)setName:(NSString*) name;
-(void)setChinese:(int)chinese;
-(void)setMath:(int)math;
-(void)setEnglish:(int)english;
-(NSString*)name;
-(int)chinese;
-(int)math;
-(int)english;

@end
Student.m

#import "Student.h"

@implementation Student

-(void)setName:(NSString*) name{
    _name = name;
}

-(void)setChinese:(int)chinese{
    _chinese = chinese;
}

-(void)setMath:(int)math{
    _math = math;
}

-(void)setEnglish:(int)english{
    _english = english;
}

-(NSString*)name{
    return _name;
}

-(int)chinese{
    return _chinese;
}

-(int)math{
    return _math;
}

-(int)english{
    return _english;
}

@end
main.m

#import <Foundation/Foundation.h>
#import "Student.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student* student = [[Student alloc] init];
        [student setName:@"youzi"];
        [student setChinese:103];
        [student setMath:115];
        [student setEnglish:108];
        NSLog(@"%@ -- %d %d %d",[student name],[student chinese],[student math],[student english]);
    }
    return 0;
}
在main函数中,首先使用[[Student alloc] init]初始化Student的一个对象student,再调用student对象的四个set方法对其变量值进行设置,最终打印出来,运行结果如下所示:



【解析Objective-C函数】

1、单参数函数

如上所示,函数

-(void)setName:(NSString*) name
中,‘-’表示该函数为对象函数,调用者为该类的某一个对象,‘+’表示为类函数,‘setName’ 为函数名,‘NSString’为OC的字符串类型,‘name’为形参名

2、多参数函数

上述例子中用四个函数对Student类的四个成员变量进行了设置,也可以合并为一个函数,表达为:

-(void)setName:(NSString*)name Chinese:(int)chinese Math:(int)math English:(int)english
调用方法为:

[student setName:@"youzi" Chinese:103 Math:115 English:108]




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值