高级编码:运用 SOLID 原则打造可靠代码
1. 里氏替换原则(Liskov substitution principle,LSP)
里氏替换原则无疑是 SOLID 概念中最难理解和实现的原则之一。其概念通常定义为:父类/函数块的对象应该可以被子类/函数块的对象替换,而不影响程序的行为。
简单来说,子类函数块不应限制或改变父类函数块的行为。这一概念看似简单,但理解和实现起来却颇具难度。里氏替换原则的核心在于,能够用子类函数块的引用替换父类函数块的引用,并得到相同的结果。
要正确实现这一原则,开发者需要对该主题有深入的了解。通常,外部软件难以强制实施这一原则,而是需要通过测试和代码审查来发现违反该原则的情况。在组织尝试实施 SOLID 原则时,这一原则可能会被忽视或曲解,因为它更多地涉及编程风格。
1.1 实现里氏替换原则的示例
为了更好地理解里氏替换原则,我们通过一个示例来进行说明。常见的示例是使用正方形和矩形。在数学中,正方形可以被定义为矩形,因此正方形和矩形存在“is a”关系,正方形可以继承矩形的面积计算公式。
以下是具体的代码实现:
FUNCTION_BLOCK rectangle
VAR_INPUT
length : LREAL;
width : LREAL;
END_VAR
VAR_OUTPUT
END_VAR
VAR
area : LREAL;
END_VAR
函数块的主体部分:
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



