object-c 子类覆盖父类属性 详解
来源:互联网 发布:打击电信网络诈骗作文 编辑:程序博客网 时间:2024/06/01 10:44
//// main.m// test_OC_chind_super_one//// Created by admin on 1/7/16.// Copyright © 2016 jeffasd. All rights reserved.//#import <Foundation/Foundation.h>#import "Student.h"int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); } Student *student = [Student new]; NSString *string = student.name; student.identifier = @"set identifier"; NSLog(@"the student identifier is %@", student.identifier); NSLog(@"the string is %@", string); // student.name = @"987"; return 0;}
//// Person.h// test_OC_chind_super_one//// Created by admin on 1/7/16.// Copyright © 2016 jeffasd. All rights reserved.//#import <Foundation/Foundation.h>@interface Person : NSObject@property(nonatomic, copy)NSString *identifier;@end
//// Person.m// test_OC_chind_super_one//// Created by admin on 1/7/16.// Copyright © 2016 jeffasd. All rights reserved.//#import "Person.h"@implementation Person- (instancetype)init{ self = [super init]; if (self != nil) { _identifier = @"12"; } return self;}@end
//// Student.h// test_OC_chind_super_one//// Created by admin on 1/7/16.// Copyright © 2016 jeffasd. All rights reserved.//#import "Person.h"@interface Student : Person@property(nonatomic, copy)NSString *identifier;@property(nonatomic, readonly)NSString *name;@end
//// Student.m// test_OC_chind_super_one//// Created by admin on 1/7/16.// Copyright © 2016 jeffasd. All rights reserved.//#import "Student.h"@implementation Student@synthesize identifier = _identifier;//@dynamic identifier; //使用@dynamic后必须要自己实现getter和setter方法- (instancetype)init{ self = [super init]; if (self != nil) {// [self setName:@"456"]; self.name = @"456"; } return self;}//- (NSString *)identifier//{// return @"3";//}//- (NSString *)name//{// return//}- (void)setName:(NSString *)name{ _name = name;}//- (void)setIdentifier:(NSString *)identifier//{// [super setIdentifier:identifier];// // //}- (void)setIdentifier:(NSString *)identifier{ [super setIdentifier:identifier];// _identifier = @"set identifier"; _identifier = identifier;}@end
2016-01-07 13:18:11.967 test_OC_chind_super_one[2002:51547] Hello, World!
2016-01-07 13:18:11.968 test_OC_chind_super_one[2002:51547] the student identifier is set identifier
2016-01-07 13:18:11.969 test_OC_chind_super_one[2002:51547] the string is 456
Program ended with exit code: 0
0 0
- object-c 子类覆盖父类属性 详解
- OC 中,子类覆盖父类属性 详解
- Java子类父类属性的覆盖
- Java子类父类属性的覆盖
- spring 子类和父类注入同一个属性时,子类会覆盖父类
- 子类覆盖父类方法
- Java中 元素的继承,子类属性覆盖父类属性的实例
- Java子类覆盖父类的规则
- java 子类继承父类 -- 重写、覆盖
- 子类覆盖父类的成员变量
- 子类覆盖父类的方法
- 子类覆盖父类方法问题
- JAVA子类方法覆盖父类方法
- Java子类父类属性的覆盖-----这篇文章有点误导人,明明是静态绑定或者叫前期绑定,非要叫属性覆盖
- 【C++】子类在重写虚函数时,会覆盖父类的函数
- C++子类调用父类覆盖的函数
- java 子类继承父类 -- 重写、覆盖与多态
- 子类能否访问或覆盖父类的private方法
- 学会使用github!
- 出现0xC015000F:正在被停用的激活上下文不是最近激活的bug
- Java web开发(3)——Http
- 【设计模式】状态模式
- leetcode Wiggle Sort II
- object-c 子类覆盖父类属性 详解
- Dijkstra算法python的实现(有向图/无向图)
- Mac在svn上添加.a文件
- 图像处理中的数学原理详解22——快速傅立叶变换算法FFT
- Intent用法
- Jquery-数组删除元素
- 不停止 MySQL 服务增加从库的两种方式
- 【2-3】HDFS之DataNode
- Python最常犯的10个错误