繁体   English   中英

实例和子类之间的主要区别是什么?

[英]What is the main difference between instances and sub-classes?

这个问题是关于本体论的,我正在实施一个关于无线传感器作为设备的潜在物理攻击的本体论。

我创建了 class Modification_Attack ,意思是在传感器本身进行修改的攻击。 我创建了Programming_Modification作为这个 class 的实例,这是合乎逻辑的,它是一个子类更好还是既不是实例也不是子类更好?

实例和子类之间的主要区别是什么?

这个问题并不是OWL本体真正独有的。 它出现在面向对象的程序设计和数学的集合论中。 一个类是其成员的集合。 例如,

人≡{人1 ,人2 ,…}

假设您还有另一个课程:

TallPerson≡{人63 ,人102 ,…}

如果A的每个元素也是B的元素,则A类是B类的子类:

(A⊆B)≡(x∈A→x∈B)

因此,例如,如果TallPerson的每个成员也是Person的成员,则TallPersonPerson的子类。

我创建了Modification_Attack类,这意味着可以在传感器本身中进行修改的攻击。我创建了Programming_Modification作为此类的实例,这是逻辑上的吗,它是更好的子类,还是既不是实例又不是子类?

这是您需要做出的选择。 这实际上取决于上下文以及打算如何使用本体。 如果您正在观察狂野的攻击并尝试对其进行分类,则可能需要一个子类,但是您将需要有Programming_Modification的 实例 也就是说,您将需要以下内容:

Programming_Modification≡{攻击24 ,攻击89 ,…}

但是,如果您还有其他用例,那么您想将Programming_Modification视为单个实体,那么将其作为一个个体可能会更有意义。

我一直在思考同样的问题。 而且我认为同一事物既可以是实例又可以是子类,这取决于您是否打算在概念上使用它,这可以简化为您是否会使用thea来描述它。

比如我在做一个materials本体,其中主要的class就是Material 一种特殊类型的材料是Steel 如果我说钢,那么steel就是Material的一个实例 如果我说,那么SteelMaterial子类 此外, steelSteel的一个实例 并且给它一些有意义的标识符会更合适,比如steel-1

无论您是将术语用作概念性的 class 还是用作该 class 的某个实例的名称,这一切似乎都已解决。在您的情况下,我认为说Programming_Modification是一个子类可能更合适,因为您可能拥有您可以将许多此类修改称为first Programming_Modification第二second Programming_Modification 如果您有解决方案,很想看看您的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM