Objective-c第一课,OC的面向对象

之前基本上搞Android,边学习边做东西,这学期有幸加入到了一个苹果实验室,有个同年级IT大佬教我们开发ios的基本知识。想起之前有个研究生给我们就业指导是说

       “学移动端开发,就要先学IOS,要是一上来就搞Android基本上就是废了。”

大概就是这个意思,我也不知道为何发此感叹。不过确实搞移动端开发,怎么只能偏向一科呢?

今天大概学了OC的第一个基础知识:面向对象。(无奈,笔记本win系统,没装开发工具,先不贴图了,全是无聊的文字)

      OC和基本上所有的语言一样都需要引入头文件,不过OC是这样的:

     #import <...>

     #import "..."

    例如我们的第一个hello world;

    #import <Foundation/Foundation.h>

    引入了Foundation的头文件,Foundation是Cocoa框架的一个重要的基础头文件。Cocoa是Mac os X原生的框架之一。

   当我们字Xcode中创建oc程序时写对象,就是new cocoa class文件。

   接下来说到oc 中的对象。

   oc中的对象和java中的对象一样都是有一个基类NSObject(NS是Nextstep的缩写)。模板大概是这样

   类的定义

@interface  类名 :父类
{
   实例变量定义;
}
方法生命;
...
@end
和c++一样,我们一般把函数的实现写到外面,而这里直接在另一个文件

@implementation 类名
方法的定义;
...
@end
比如一个Human的对象

@interface Human : NSObject
-(void)speak;
@end
@implementation Human
-(void)speak{
    NSLog(@"I speak chinese");
}
@end

上面就定义了一个Human 的类,当我们需要调用这个方法时就这样

...
#import "Human.h"
int main(int args,const char *argv){
    ...
    Human *human = [[Human alloc]init];
    [human speak];
    ...
}
其中[obj msg]为OC中的消息表达式,我们调用msg的方法就是这样调用,告诉obj,我要调用 msg方法。

函数的声明和定义这里解释下,

返回类型和参数都是用小括号包住的

-(int) getWeight:(int)id{

...

}//这里获取指定id号的体重。

多个参数是这样

-(datatype) func:(datatype)arg1 columnName:(datatype)arg2...{

}

例如:

-(float)getCost:(float)price Number:(int)number{

    return price*number;

}

调用时就这样 

...

[obj getCost:5.5 Number:10];

...


注意这里没有写类中的属性定义生命,以及解释function前面(+)和(-)的区别,下次再详谈。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值