美文网首页
iOS开闭原则和替换原则

iOS开闭原则和替换原则

作者: bugLife丶 | 来源:发表于2020-07-07 15:22 被阅读0次

什么叫开闭原则?

         六大模式设计原则之一的开闭原则是比较重要的,开闭原则其实就是“抽象构建框架,实现扩展细节”。简单一点说的话就是软件功能开放扩展功能,关闭修改功能。那么开闭原则有什么好处呢?假如产品软件功能已经确定,现在需要更新迭代功能,此时你可以选择在原有的基础上修改,很方便。但是这样有可能会产生新的问题,又需要测试修改,增加开发难度,增加了人力成本。但是如果是遵循开闭原则设计,我们仅仅在原有开发上扩展新功能,不修改原有代码 ,是不是就不出现以上的情况了,就是出现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子类 

相关文章

网友评论

      本文标题:iOS开闭原则和替换原则

      本文链接:https://www.haomeiwen.com/subject/qmwaqktx.html