Objective-C中分类的达成
发布时间:2021-11-21 17:40:11 所属栏目:教程 来源:互联网
导读:Objective-C分类机制允许向一个类文件中添加新的方法声明,它不需要使用子类机制,并且在类实现的文件中的同一个名字下定义这些方法。 #import ClassName.h @interface ClassName (CategoryName) @end Vector.h 代码 #import Foundation/Foundation.h @inter
Objective-C分类机制允许向一个类文件中添加新的方法声明,它不需要使用子类机制,并且在类实现的文件中的同一个名字下定义这些方法。 #import “ClassName.h” @interface ClassName (CategoryName) @end Vector.h 代码 #import <Foundation/Foundation.h> @interface Vector : NSObject { double _vec1; double _vec2; } @property (nonatomic,assign) double vec1; @property (nonatomic,assign) double vec2; -(Vector *)add:(Vector *)v; -(void)setVec1:(double)vec1 AndVec2:(double)vec2; -(void)print; @end Vector.m 代码 #import "Vector.h" @implementation Vector @synthesize vec1=_vec1; @synthesize vec2=_vec2; -(void)print { NSLog(@"v1 value is %f,v2 value is %f",self.vec1,self.vec2); } -(void)setVec1:(double)vec1 AndVec2:(double)vec2 { self.vec1=vec1; self.vec2=vec2; } -(Vector*)add:(Vector *)v { Vector *vector=[[Vector alloc]init]; vector.vec1=v.vec1+self.vec1; vector.vec2=v.vec2+self.vec2; return vector; } @end vector+sub.h 代码 #import <Foundation/Foundation.h> #import "Vector.h" @interface Vector(sub) -(Vector *)sub:(Vector *)v; @end vector+sub.m code #import "Vector+sub.h" @implementation Vector (sub) -(Vector *)sub:(Vector *)v { Vector *temp=[[Vector alloc ]init]; temp.vec1=self.vec1-v.vec1; temp.vec2=self.vec2-v.vec2; return temp; } ![]() (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |