面向对象
2015-07-18 14:20
190 查看
面向对象主要是如何找对象:找对象就是找内存上的地址,只要找到地址,那么地址上的值就可以改变了
成员变量默认是受保护状态的,只能在自己的.m里使用
方法的调用:当前类调用自己的方法用self
只在当前类使用的方法可以不用声明
1.super只是编译命令,不是类方法,不同于self,是用来调用父类方法的,通过它可以执行当前对象的父类方法,
self = [super init];//先清零后赋值,初始化
方法的调用:谁的特征谁的,谁的行为就用谁的找谁的对象 2.如果Student
和person是两个相对独立的类,那么想再Student.m里使用person的方法和特征,那么必须要先创建person的对象,只能用person对象来访问person的方法和特征,
2.在+号方法里,self不代表当前类的对象,代表当前类
-(instancetype)initWithSchool:(NSString *)school andNumber:(NSInteger)number andName:(NSString *)name andAge:(NSInteger)age andSex:(NSString *)sex andMajor:(NSString *)major
andFriend:(NSString *)myFriend
{
self = [super initWithSchool:school andNumber:number andName:name andAge:age andSex:sex];
if (self) {
_major = major;
_myFriend = myFriend;
}
后期要改值,要用set;
[super setSchool:@"大连交通大学"];
成员变量默认是受保护状态的,只能在自己的.m里使用
方法的调用:当前类调用自己的方法用self
只在当前类使用的方法可以不用声明
1.super只是编译命令,不是类方法,不同于self,是用来调用父类方法的,通过它可以执行当前对象的父类方法,
self = [super init];//先清零后赋值,初始化
方法的调用:谁的特征谁的,谁的行为就用谁的找谁的对象 2.如果Student
和person是两个相对独立的类,那么想再Student.m里使用person的方法和特征,那么必须要先创建person的对象,只能用person对象来访问person的方法和特征,
2.在+号方法里,self不代表当前类的对象,代表当前类
-(instancetype)initWithSchool:(NSString *)school andNumber:(NSInteger)number andName:(NSString *)name andAge:(NSInteger)age andSex:(NSString *)sex andMajor:(NSString *)major
andFriend:(NSString *)myFriend
{
self = [super initWithSchool:school andNumber:number andName:name andAge:age andSex:sex];
if (self) {
_major = major;
_myFriend = myFriend;
}
后期要改值,要用set;
[super setSchool:@"大连交通大学"];
相关文章推荐
- NS2中修改无线节点通信半径
- POJ-3259-Wormholes
- Cxf+wss4j的WS-Security实现【未验证】
- Qt界面编程之多窗口切换
- 六星经典CSAPP-笔记(12)并发编程(上)
- Androd绑定本地服务和绑定远程服务
- 六星经典CSAPP-笔记(12)并发编程(上)
- 移动互联网思维
- 插入表主键冲突做更新
- 多机器人系统实验室汇总
- 多机器人系统实验室汇总
- 多机器人系统实验室汇总
- 【Maven】Maven解决Maven Repository 没有
- 【C++ Primer】拷贝控制
- hdu1542矩阵的并 线段树+扫描线
- 内存管理
- 微软首测Win10即服务 Build 10240接收专属更新包下载安装
- 链接错误:error LNK 2019 :Unresolved external symbol
- sublime自动格式化
- sublime