什么叫开闭原则?
六大模式设计原则之一的开闭原则是比较重要的,开闭原则其实就是“抽象构建框架,实现扩展细节”。简单一点说的话就是软件功能开放扩展功能,关闭修改功能。那么开闭原则有什么好处呢?假如产品软件功能已经确定,现在需要更新迭代功能,此时你可以选择在原有的基础上修改,很方便。但是这样有可能会产生新的问题,又需要测试修改,增加开发难度,增加了人力成本。但是如果是遵循开闭原则设计,我们仅仅在原有开发上扩展新功能,不修改原有代码 ,是不是就不出现以上的情况了,就是出现bug,也是在新的扩展功能上面。总结开闭原则“关闭修改,开放扩展”。
替换原则?
替换原则在六大设计原则里面也属于比较重要的一环。那什么叫替换原则呢,其实就是衍生类可以去新增基类的功能,但是还不改变基类的功能,做常见的就是多态。
@interface person:NSObject
-(void)eat;
@end
-(void)eat{
nslog(@"person 类")
}
创建一个继承person的子类
@interface doctor:person
@end;
@implementation doctor
-(void)eat{
[super eat];
nslog(@"doctor子类");
}
@end
//创建一个superPerson
@interface superPerson:NSObect
-(void)creat:(person *)per;
@end
-(void)creat:(person *)per{
nslog(@"superPerson");
[per eat];
}
多态调用,子类的对象指向父类的指针
person *p = [doctor new];
在main方法里面它调用
superPerson *super = [superPerson new];
[super creat:p]
这里执行后,会显示打印如下:
superPerson , person 类,doctor子类
网友评论