当前位置:首页 > 软件设计 > 正文内容

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

邻居的猫1个月前 (12-09)软件设计1140

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)承继
    // 父类FB_Animal
    FUNCTION_BLOCK FB_Animal
    VAR_INPUT
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    END_VAR
    -------------------------
    // 子类FB_Dog
    FUNCTION_BLOCK FB_Dog EXTENDS FB_Animal
    VAR_INPUT
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    END_VAR
    
  • 2.接口承继
    // 父类接口“轿车”
    INTERFACE I_Car
    // 子类接口“比亚迪”
    INTERFACE I_BYD EXTENDS I_Car
    
  • 3.结构体承继
    TYPE ST_Fruits :
    STRUCT
        colour : STRING; // 色彩
        weight : REAL; // 分量
    END_STRUCT
    END_TYPE
    -------------------------
    // ST_Apple 承继 ST_Fruits,子类具有三个成员:colour,weight,price
    TYPE ST_Apple EXTENDS ST_Fruits :
    STRUCT
        price : REAL; // 价格
    END_STRUCT
    END_TYPE
    

在C#或Java高档语言中,父类类型变量能够接纳子类类型目标,此特性也适用于PLC ST。

PROGRAM MAIN
VAR
    animal : FB_Animal;
    dog : FB_Dog;
END_VAR
----------------------
	animal := dog;

Tips : 尽管编译没有过错也能正常运转,但是在程序初始化的时分现已创立了两个不同的目标 animaldog ,经过赋值“:=”仅仅将 animal 目标数据复制到 dog 目标,并没有将内存地址复制曩昔。

实践PLC OOP编程中,并不会选用此种方法接纳子类目标,较为常见的作法是运用接口(INTERFACE)

总结

PLC ST OOP的承继与 C#Java 在界说和特色上根本共同,仅仅某些特性用法不同。在实践项目运用中需多加留意。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=313

分享给朋友:

“PLC结构化文本(ST)——承继(inheritance)” 的相关文章

装饰器设计模式,装饰器设计模式概述

装饰器设计模式,装饰器设计模式概述

装饰器设计模式(Decorator Design Pattern)是一种结构型设计模式,用于动态地添加修改类的功能。它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于对象结构型模式,因为它是作为现有类的一个包装。装饰器模式主要解决的问题是当需要给一个现有的对象添加更多的功...

面向对象继承,原理、应用与优势

面向对象编程(OOP)是一种编程范式,它允许我们通过创建对象来模拟现实世界中的实体。在面向对象编程中,继承是一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。继承的主要目的是实现代码重用。通过继承,子类可以继承父类的所有属性和方法,同时还可以添加自己的属性和方法,或者覆盖父类的方法...

面向对象法

面向对象法

面向对象法(ObjectOriented Methodology)是一种软件开发的方法论,它强调将软件系统视为由多个对象组成,每个对象都有自己的属性和行为。面向对象法的主要特点包括封装、继承和多态。1. 封装:封装是指将对象的属性和行为封装在一个单元中,这样可以隐藏对象的内部实现细节,只对外提供必要...

软件设计师好考吗,难度解析与备考建议

软件设计师好考吗,难度解析与备考建议

软件设计师考试是否容易通过,取决于个人的基础、学习能力和准备情况。软件设计师考试主要考察计算机软件、硬件、网络等方面的知识,需要考生具备一定的计算机基础和专业知识。对于有计算机专业背景或相关工作经验的人来说,考试可能相对容易一些,因为他们已经具备了一定的知识储备和实践经验。而对于没有相关背景的人来说...

项目中用到的设计模式,java项目中用到的设计模式及使用场景

项目中用到的设计模式,java项目中用到的设计模式及使用场景

1. 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点。适用于需要全局唯一实例的情况,如数据库连接池、日志管理器等。2. 工厂模式(Factory Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类。适用于需要创建多种相似对象的情况,如...

设计模式之禅pdf,设计模式之禅第3版pdf

你可以在以下链接中找到《设计模式之禅》PDF资源的下载地址:1. .pdf》qwe2.pdfqwe2 2. 3. .pdf》qwe2.pdfqwe2 4. 5. 希望这些资源对你有所帮助!˂html lang=\...