Objective-C lesson 1

虽然我学过很多语言,但目前是在做c#,再者网上的很多资料都是将objective-c和c或java等语言比较,我这里和c#进行比较。

在看了前三章后写点笔记供日后学习

首先是oc(Objective-C太长,今后都简称oc)中枚举的写法

typedef enum {
  male,
  fmale
} Sex;

ps. typedef和enum是关键字

 

新建一个类 会自动生成两个文件如:学生类 Student.h Student.m

(注:Objective-C语言的类文件是*.m c语言的是*.c c++的是*.cpp 新手在有时候明明建的是一个c语言的类结果用oc的语法就导致老是编不过还找不到原因)

下面我们来看看这两个文件

//
//  Student.h
//  Chapter4
//
//  Created by Michael Zhao on 12-6-14.
//  Copyright 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Student : NSObject

@end
//
//  Student.m
//  Chapter4
//
//  Created by Michael Zhao on 12-6-14.
//  Copyright 2012年 __MyCompanyName__. All rights reserved.
//

#import "Student.h"

@implementation Student

- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }
    
    return self;
}

@end

先从Student.h说起

#import

  *.h结尾的文件叫头文件,和c#最相似的就是命名空间吧。oc使用头文件来保函元素声明,这些元素包括结构体、符号常量、函数原型等。c语言中是用的

     #include当然oc也可以用这个,但不建议 因为#import是gcc编译器提供的,xcode在编译oc、c和c++程序时都会使用它。最关键的时#import可以保证头文件只被包含一次!

下面大家看这一句

@interface Student : NSObject

短短的一句看似平常,其实碉堡了!

这句话通俗的可以理解为声明了一个名为Student的类,这个类继承与NSObject,并为Student声明了一个接口,想想在c#中要写成啥样?

当然,这还没有完,和c#一样在接口中我们可以定义字段和方法原型等东西。

Student.m就是类的实体部分,且可以实现头文件中定义的东西,和c#最大的区别是你不用全部实现interface里定义的方法,可以部分实现也可以重新定义新的。

 

 

  

posted on 2012-06-14 11:21  MichaelZhao  阅读(232)  评论(0编辑  收藏  举报

导航