OC基础知识 -- 基本行为方法

基本行为方法

1.自定义初始化方法

每个类都需要进行初始化,如果对父类自定义初始化方法不满意,可以进行重写:

- (instancetype)initWithSystem:(NSString *)system brand:(NSString *)brand color:(NSString *)color{
    _system = system;
    _brand = brand;
    _color = color;
    return self;
}

2. 便利构造器

便利构造器是一种类方法:

+ (instancetype)mobilePhoneWithSystem:(NSString *)system brand:(NSString *)brand color:(NSString *)color{
    MobilePhone *mobilePhone = [[MobilePhone alloc] initWithSystem:system brand:brand color:color];
    return mobilePhone;
}

2.getter和setter方法

受保护的实例变量不能在main.m中赋值 但是可以通过自定义初始化方法进行赋值

要获取赋值后的对象的某个实例变量可以用getter方法

- (NSString *)system{
    return _system;
}

对赋值后的对象的某个实例变量进行重新赋值可以用setter方法

- (void)setSystem:(NSString *)system {
    _system = system;
}

每个实例变量都应该有一对getter和setter方法

3.全面描述

- (NSString *)description{
    NSString *str = [NSString stringWithFormat:@"系统:%@ 品牌:%@ 颜色:%@",_system,_brand,_color];
    return str;
}

进行此方法实现后,此类创建的对象在进行NSLog打印时可以直接用对象名

MobilePhone *myPhone = [[MobilePhone alloc] initWithSystem:@"iOS" brand:@"apple" color:@"黑色"];
NSLog(@"%@",myPhone);

*复合

有时候一个类将另一个类的对象作为自己的实例变量,这种情况叫做复合

复合需要在各自的接口文件的@interface 前面添加@class 类名 表面这个类是可作为自己的一个实例变量

在给存在复合变量的两个类进行自定义初始化的时候 需要考虑创建对象的先后关系,以适当去掉实例变量;在

进行description的时候需要注意循环调用 应该换成getter方法来进行描述打印 (这个方法应该在另一个类中

进行创建)

CCF大数据与计算智能大赛-面向电信行业存量用户的智能套餐个性化匹配模型联通赛-复赛第二名-【多分类,embedding】.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值