A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gongxia20 中级黑马   /  2014-10-8 09:05  /  740 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类方法:
1、加号 + 开头
2、只能由类(名)来调用
3、类方法中不能访问成员变量(实例变量)

代码编写:
#import<Foundation/Foundation.h>
@interfacePerson : NSObject
{
    int _age;  // 示例变量age不能在类方法中访问
}
// 类方法都是加号开头
+(void)printClassName;
@end

@implementation
// 类方法的实现
+(void)printClassName{
    NSLog(@"这个类叫做Person");
}
@end

intmain(){
   [Person printClassName];
   return 0;
}

类方法的好处和使用场合
1、不依赖于对象,执行效率高
2、能用类方法尽量用类名
3、场合:当方法内部不需要使用到成员变量时,就可以改为类方法
可以允许类方法和对象方法同名


self的用途:
1、谁调用了当前方法,self就代表谁
self出现在对象方法中,self就代表对象
self出现在类方法中,self就代表类
2、在对象方法利用"self—>成员变量名"访问当前对象内部的成员变量
3、[self 方法名]可以调用其他对象方法\类方法
例:如果在对象方法里调用该对象的其它方法, 可使用self来调用:
- (void) student
{
    NSLog(@"学习!");
}
- (void) studentAndStudy
{
   [self student];    // 使用self调用其它对象方法
   NSLog(@"学习中");
}
对象方法中的self代表调用该方法的对象, 所以只能调用其它对象方法, 不能调用类方法。

super 的作用
1、可以直接调用父类中的某个方法
2、如果super处在对象方法中,那么就调用父类的对象方法
       如果super处在类方法中,那么就会调用父类的类方法
3、使用场合:子类重写父类的方法时想保留父类的一些行为

代码编写:
#import<Foundation/Foundation.h>

@interfaceZoombie : NSObject
+ (void)test; // 父类的类方法test
- (void)test; // 父类的对象方法test
@end

@implementation

+ (void)test{  // 父类的类方法实现
   NSLog(@"Zoombie+test");
}
- (void)test{  // 父类的对象方法实现
   NSLog(@"Zoombie-test");
}
@end

@interfaceJumpZoomble : Zoomble
+ (void)haha;  // 子类的类方法haha
- (void)haha2; // 子类的对象方法haha2
@end


@implementationJumpZoombie

+ (void)haha      // 子类的类方法haha
{
    [super test]; // 调用父类的类方法test
}

- (void)haha2     // 子类的对象方法haha2
{
    [super test]; // 调用父类的对象方法test
}
@end

NSString的简单使用
1、字符串的快速创建
       NSStirng *str = @“Hello”;
2、使用静态方法创建
3、使用%@输出字符串
      NSString *name = @”mj”;
      NSLog(@“我的名字是%@”,  name);
//c中打印字符串的长度的函数,是以字节为单位
char *cStr3 = "学生们"; // 打印出的字符串长度是10
//oc中打印字符串的长度的方法,是以当前语言的字符为单位
NSString *name = @"学生们" // 打印出的字符串长度是3
//oc的所有对象都用%@这个格式符打印
// NSLog(@"%@",name);
//printf不能打印oc的字符串对象

//printf("str:%@",name);

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
super 调用父类的所有方法  self 调用自己的对象或类方法  好像是父子的关系一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马