Objective
s_Sock
这个作者很懒,什么都没留下…
展开
-
对象作为方法的参数连续的传递
#pragma mark - 弹夹@interface Clip : NSObject{ @public int _bullet; // 子弹}- (void)addBullet;@end@implementation Clip- (void)addBullet{ _bullet = 10;}@end#pragma mark - 枪@interface Gu原创 2016-05-28 14:22:19 · 303 阅读 · 0 评论 -
getter-setter方法/点语法
@interface Gun : NSObject{ int _size;}/* setter方法: 作用: 设置成员变量的值 格式: 1. setter方法一定是对象方法 2. 一定没有返回值 3. 一定以set开头, 并且set后面跟上需要设置的成员变量的名称去掉下划线, 并且首字母大写 4. 一定有参数, 参数类型一定和需要设置的成员变量的类型一致, 并且参数名称就原创 2016-05-28 16:13:52 · 597 阅读 · 0 评论 -
继承和多态
继承 只要A类继承了B类, 那么A类就拥有了B类的所有属性和方法(对象方法和类方法) A类:子类 B类:父类优点: 提高代码的复用性继承中的方法调用顺序: 如果子类重写了父类的方法,会优先调用自己的,如果没有重写会调用父类的方法多态事物的多种表现形态优点: 提高了代码的扩展性 在程序中如何表现: 父类指针指向子类对象注意点:使用多态一定在继原创 2016-05-28 21:37:14 · 198 阅读 · 0 评论 -
self/super关键字/实例变量修饰符/description
self关键字 self在对象方法中,代表调用当前对象方法的那个对象 self在类方法中,代表调用当前类方法的那个类对象super关键字 super在类方法中, 调用父类的类方法 super在对象方法中, 调用父类的对象方法实例变量修饰符@public (公开的) 可以在main函数中访问修饰的属性 可以在本类中访问修饰的属性 可以在子类中访问修饰的原创 2016-05-28 22:06:11 · 406 阅读 · 0 评论 -
Property
@porperty是一个编译器指令 在Xocde4.4之前, 使用@porperty来代替getter/setter方法的声明 编译器只要看到@property,就知道我们要生成某一个属性的getter/setter方法的声明 从Xcode4.4以后,只要利用一个@property就可以生成setter/getter方法的声明和实现 利用@property来生成gett原创 2016-05-28 23:08:11 · 349 阅读 · 0 评论 -
instancetype和id
id是一个数据类型,是动态数据类型 是数据类型, 所以就可以用来 1.定义变量 2.作为函数的参数 3.作为函数的返回值默认情况下所有的数据类型都是静态数据类型 静态数据类型的特点: 在编译时就知道变量的类型, 知道变量中有哪些属性和方法 在编译的时候就可以访问这些属性和方法,原创 2016-05-28 23:20:30 · 261 阅读 · 0 评论 -
构造方法
new方法Person *p = [Person new]; new做了三件事情 1.调用了+ alloc 方法 2.调用了- init 方法 3.返回对象的地地址Person *p1 = [Person alloc]; alloc做了什么事: 1.开辟存储空间 2.将所有的属性设置为0 3.返回当前实例对象的地原创 2016-05-29 11:28:06 · 368 阅读 · 0 评论 -
类工厂方法
什么是类工厂方法: 用于快速创建对象的类方法, 称之为类工厂方法 用于给对象分配和初始化这块存储空间 类工厂方法是苹果的一个规范: 1.一定是类方法 + 2.方法名称以类的名称开头, 首字母小写 3.一定有返回值, 返回值是id/instancetype+ (instancetype)person;+ (instancetype)personWith原创 2016-05-29 14:54:44 · 309 阅读 · 0 评论 -
sel类型(以后完善)
sel类型(后期继续完善)作用一: 查看对象或类是否有这个方法查看对象是否有这个方法// 将方法包装成对象SEL sel = @selector(setAge:);Person *p = [[Person alloc] init];BOOL flag = [p respondsToSelector:sel];查看类是否有这个的方法SEL sel1 = @selector(test);fla原创 2016-05-29 20:33:30 · 469 阅读 · 0 评论 -
匿名对象
匿名就是没有名字 , 匿名对象就是没有名字的对象1.有名字的对象只要用一个指针保存了某个对象的地址, 我们就可以称这个指针为某个对象 Person *p =[Person new]; // 0ffc12 称p为Person对象 p->_age = 30; p->_name= @"lnj"; [p say];2.没有名字的对象无论有没有名字, 只要调用new方法都原创 2016-05-28 15:59:46 · 333 阅读 · 0 评论 -
结构体作为对象的属性
typedef struct { int year; int month; int day;} Date;@interface Student : NSObject{ @public NSString *_name; Date _birthday;}- (void)say;@end@implementation Student- (void)s原创 2016-05-28 12:58:54 · 317 阅读 · 0 评论 -
对象作为方法的参数传递
/* 士兵 事物名称: 士兵(Soldier) 属性:姓名(name), 身高(height), 体重(weight) 行为:打枪(fire), 打电话(callPhone) 枪 事物名称:枪(Gun) 属性:弹夹(clip) , 型号(model) 行为:上弹夹(addClip) 弹夹 事物名称: 弹夹(Clip) 属性:子弹(Bullet) 行为:上子弹(addBullet)原创 2016-05-28 13:16:06 · 792 阅读 · 0 评论