学习途中之类方法和对象方法

2016-06-05  本文已影响38人  SYOL

2、 对象方法的声明.
使用 - 号来声明
- (返回值类型)方法名;

3、方法的调用
-> 对象方法 必须要先创建对象 =通过对象名来调用.
对象方法只能通过对象名来调
[对象名 对象方法名]; //[p sayHi];



注意:无论是对象方法还是类方法在内存中只存在一份.



属性什么时候才被创建在内存之中.对象创建的时候,才会在对象之中创建属性.
而类方法的调用是不需要创建对象的.直接使用类名就可以掉.
在类方法执行的时候. 属性还有可能没有被创建呢. 所以你访问个P啊.

对象方法也是一样 因为对象方法只能通过对象来调用 而这个时候对象都 没有 调用个毛线啊.
之所以不能访问属性 是因为没有对象.那么可以再类方法中创建1个对象 访问这个对象的成员是可以的.





上代码:
#import <Foundation/Foundation.h>
#import "Person.h"
#import "JiSuanQi.h"
int main(int argc, const char * argv[]) {
// Person *p1 = [Person person];
// Person *p2 = [Person personWithName:@"jack" andAge:18];
// NSString *str = [NSString new];
// NSString *str1 = [NSString string];
// NSArray *arr = [NSArray array];
// 调用者想创建1个对象,姓名属性的值我指定 年龄属性的值我指定.
// Person *p2 = [Person new];
// p2->_name = @"杰克";
// p2->_age = 18;
// Person *p1 = [Person new];
// [p1 sayHi];
// [Person sayHi];
// int sum = [JiSuanQi sumOfNum1:10 andNum2:20];

//    JiSuanQi *jsq = [JiSuanQi new];
//    int sum = [jsq sumOfNum1:10 andNum2:30];
//    int cha = [jsq chaOfNum1:10 andNum2:3];
//    int ji = [jsq jiOfNum1:10 andNum2:89];
//    double shang = [jsq shangOfNum1:30 andNum2:2];
//    [Person sayHi];
//    Person *p1 = [Person new];
//    [p1 run];
return 0;
}

刚刚新建了一个分享交流群,366270001,期待你们的加入。
上一篇 下一篇

猜你喜欢

热点阅读