IOS 开发学习总结 objectivec面向对象之――类和对象

2024-05-20

IOS 开发学习总结 objectivec面向对象之――类和对象(精选2篇)

篇1:IOS 开发学习总结 objectivec面向对象之――类和对象

局部变量和成员变量重名的情况下,局部变量会隐藏成员变量,

为了在方法中强行引用成员变量,可以使用 self 关键字进行区分。

示例代码:

FKWolf.h文件

#import@interface FKWolf : NSObject{ NSString* _name; int _age;}// 定义一个setName:ageAge方法- (void) setName: (NSString*) _name andAge: (int) _age;// 定义一个info方法- (void) info;@end

FKWolf.m 文件

#import FKWolf.h@implementation FKWolf// 定义一个setName:ageAge方法- (void) setName: (NSString*) _name andAge: (int) _age{ // 当局部变量隐藏成员变量时, // 可用self代表调用该方法的对象,这样即可为调用该方法的成员变量赋值了。 self->_name = _name; self->_age = _age;}// 定义一个info方法- (void) info{ NSLog(@我的名字是%@, 年龄是%d岁 , _name , _age);}@endint main(int argc , char * argv[]) { @autoreleasepool{ FKWolf* w = [[FKWolf alloc] init]; [w setName: @灰太狼 andAge:8]; [w info]; }}

篇2:IOS 开发学习总结 objectivec面向对象之――类和对象

示例程序:

ReturnSel.m文件

#import@interface ReturnSelf : NSObject{ @public int _age;}- (ReturnSelf*) grow;@end@implementation ReturnSelf- (ReturnSelf*) grow{ _age++; // return self,返回调用该方法的对象 return self;}@endint main(int argc , char * argv[]){ @autoreleasepool{ ReturnSelf* rt = [[ReturnSelf alloc] init]; //可以连续调用同一个方法 [[[rt grow] grow] grow]; NSLog(@rt的_age成员变量的值是:%d , rt->_age); }}

说明:使用 self 作为方法的返回值可以使代码更加简洁,但可能造成实际意义的模糊。

id 类型

id 类型可以代表所有对象的类型。任意类的对象都可赋值给 id 类型的变量。

通过 id 类型的变量来调用方法时,objective-c 将会执行动态绑定。动态绑定:objective-c 将会跟踪对象所属的类,会在运行时判断该对象所属的类,并在运行时确定需要动态调用的方法,而不是在编译时确定要调用的方法。

示例程序:

上一篇:重点词汇用法总结下一篇:河南省广播电视编导联考真题