找回密码
 立即注册
首页 业界区 业界 PLC结构化文本(ST)——继承(inheritance) ...

PLC结构化文本(ST)——继承(inheritance)

筒濂 2025-6-6 13:22:08
PLC Structured Text Object Oriented Programming

PLC结构化文本(ST)——继承(inheritance)

继承的概念

继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。
当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类,这个新的类被称为派生类。---C#继承|菜鸟教程
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。---Java继承|菜鸟教程
继承特点


  • 1.不支持多重继承,但一个类可以实现多个接口。
  • 2.可以继承类的三大成员(字段、属性、方法等),除非这些成员被标记为Private(私有)。只能继承非私有成员。
Tips : 同样在结构化文本编程中,若属性(Property)方法(Method) 被标记为Private那么子类也将无法继承私有成员,该规则与C#和Java一致。
继承的格式

IEC61131-3增加了对面向对象编程的支持,继承关键字为EXTENDS

  • 1.类(FB)继承
    1. // 父类FB_Animal
    2. FUNCTION_BLOCK FB_Animal
    3. VAR_INPUT
    4. END_VAR
    5. VAR_OUTPUT
    6. END_VAR
    7. VAR
    8. END_VAR
    9. -------------------------
    10. // 子类FB_Dog
    11. FUNCTION_BLOCK FB_Dog EXTENDS FB_Animal
    12. VAR_INPUT
    13. END_VAR
    14. VAR_OUTPUT
    15. END_VAR
    16. VAR
    17. END_VAR
    复制代码
  • 2.接口继承
    1. // 父类接口“汽车”
    2. INTERFACE I_Car
    3. // 子类接口“比亚迪”
    4. INTERFACE I_BYD EXTENDS I_Car
    复制代码
  • 3.结构体继承
    1. TYPE ST_Fruits :
    2. STRUCT
    3.     colour : STRING; // 颜色
    4.     weight : REAL; // 重量
    5. END_STRUCT
    6. END_TYPE
    7. -------------------------
    8. // ST_Apple 继承 ST_Fruits,子类拥有三个成员:colour,weight,price
    9. TYPE ST_Apple EXTENDS ST_Fruits :
    10. STRUCT
    11.     price : REAL; // 价格
    12. END_STRUCT
    13. END_TYPE
    复制代码
在C#或Java高级语言中,父类类型变量可以接收子类类型对象,此特性也适用于PLC ST。
  1. PROGRAM MAIN
  2. VAR
  3.     animal : FB_Animal;
  4.     dog : FB_Dog;
  5. END_VAR
  6. ----------------------
  7.         animal := dog;
复制代码
Tips : 虽然编译没有错误也能正常运行,但是在程序初始化的时候已经创建了两个不同的对象 animaldog ,通过赋值“:=”只是将 animal 对象数据拷贝到 dog 对象,并没有将内存地址拷贝过去。
实际PLC OOP编程中,并不会采用此种方式接收子类对象,较为常见的作法是使用接口(INTERFACE)
总结

PLC ST OOP的继承与 C#Java 在定义和特点上基本一致,只是某些特性用法不同。在实际项目使用中需多加注意。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册