Object-c------继承
2016-04-28 10:28
447 查看
#import <Foundation/Foundation.h> /* 继承的好处: 1.抽取重复代码 2.建立类类之间的关系 特点: 子类可以拥有父类中的所有成员变量和方法 不允许子类和父类拥有相同名称的成员变量 重写: 子类重新实现父类中的某个方法,覆盖父类的方法 父类必须声明在子类的前面 调用某个对象的方法时,优先去当前对象中找,如果找不到,去父类中找 坏处 : 耦合性太强 使用场合: > 当两个类拥有相同属性和方法的时候,可以讲相同的东西抽取到一个父类中 > 当A类拥有B类中的部分属性和方法时,可以考虑让B类继承A类 组合: 在类声明成员变量时 拥有xxx类的成员变量 : xxx *_xxx;(不是继承) super 指向父类 1.直接调用父类中的某个方法 2.如果super处在对象方法中,那么就会调用父类的对象方法 如果super处在类方法中,那么就会调用类方法 */ @interface Animal : NSObject { int _age; double _weigth; } - (void)setAge : (int)age; - (int)age; - (void)setWeigth : (double)weigth; - (double)weigth; - (void)run; @end @implementation Animal - (void)setAge : (int)age { _age = age; } - (int)age { return _age; } - (void)setWeigth : (double)weigth { _weigth = weigth; } - (double)weigth { return _weigth; } - (void)run { NSLog(@"往前跑一米"); } @end // : Animal 继承类Animal,相当于拥有了Animal里面的有所得成员变量和方法 // Animal称为Dog的父类 // Dog称为Animal的子类 @interface Dog : Animal @end @implementation Dog -(void)run { NSLog(@"叫一声"); [super run]; } @end @interface Cat : Animal @end @implementation Cat @end int main() { Dog *d = [Dog new]; [d setAge : 10]; [d run]; return 0; }
相关文章推荐
- [乐意黎原创]php 抛Fatal error: Cannot use object of type stdClass as array in XXX的解决方法
- Xcode插件管理工具CocoaPods安装教程
- Objective-C中字符串NSString的常用操作方法总结
- [Angular 2] Using a Reducer to Change an Object's Property Inside an Array
- different object with the same identifier value was already associated with the session 问题解决
- Objective-C中的block代码块的使用
- 2.Samba安装问题:error while loading shared libraries: libXXX.so.X: cannot open shared object file
- Object-c------self
- ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper的解决办法
- Object-c-----类方法
- 泛型与Object
- Foundation => Objective-C _ Part6
- jenkins部署war 报错required: java.lang.Long found: java.lang.Object
- 【Realflow】Objects - Volume节点翻译
- 开发工具、Object类(java基础知识十一)
- Foundation => Objective-C _ Part5
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- Objective-C:属性(@property)
- TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement.
- 不常用的 IO 流对象:ObjectInputStream/ObjectOutputStream