objective-c(接口&实现)

objective-c在xcode6下的例子:

  • 定义接口
复制代码
#import <Foundation/Foundation.h> //基础库,类似C中的stdlib

typedef enum eType {type1 = 1,type2,type3} ETYPE; //OC中对enum、#define、typedef的使用与在C中基本无差异

@interface Teacher : NSObject{
    int tid;
    NSString *name;
    ETYPE type;
}

//peoperty定义这个类的属性,这些属性替代了java中getXXX的方法; @property
int tid; @property NSString *name; @property ETYPE type; -(void) setName: (NSString*)name andId:(int)tid andType:(ETYPE)type; -(void) print; @end
复制代码
  •  实现
复制代码
#import "Teacher.h"

#import <Foundation/Foundation.h>

@implementation Teacher

@synthesize tid,name,type; //标示所声明的属性

-(void)setName:(NSString *)inputname andId:(int)inputtid andType:(ETYPE)inputtype{
    self.tid  = inputtid; //self相当于this
    self.name = inputname;
    self.type = inputtype;
}

-(void) print{
    NSLog(@"%@ and %i and type %i", self.name,self.tid,self.type);   
}

@end
复制代码
  • 测试
复制代码
#import <Foundation/Foundation.h>
#import "Student.h"
#import "Teacher.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        Student *tmp1 = [[Student alloc]init];
        [tmp1 setName:@"fredric" andId:18];
//id object
        id data; //指向NSObject的指针,下面这个例子可以实现类似多态的功能    
        data = tmp1;
        [data print];        
    }
    return 0;
}
复制代码
posted @   Fredric_2013  阅读(1907)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示