gpt4 book ai didi

matlab - MATLAB 中抽象属性的用途是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:22 25 4
gpt4 key购买 nike

我们在 MATLAB R2014b 中有方法和属性的 abstract 属性,我知道方法的 abstract 属性的用途。我们可以在该方法中调用函数并在类的父类(super class)中定义它。我感到困惑的是 MATLAB 中属性的 abstract 属性的用途。我们如何使用它?

最佳答案

抽象属性(和抽象方法)的目的是允许 creation of interfaces :

The basic idea of an interface class is to specify the properties and methods that each subclass must implement without defining the actual implementation.

例如,你可以定义一个抽象的Car 定义

classdef (Abstract) Car
properties(Abstract) % Initialization is not allowed
model
manufacturer
end
end

抽象属性 modelmanufacturer 无法初始化(这就像实例化一个抽象类)以及所有继承自 Car 的类必须为子类具体指定它们的值。如果属性不是抽象的,则子类将简单地继承它们。将属性抽象化形成一种契约,上面写着“要成为一辆可用的(具体的)汽车,你必须定义一个modelmanufacturer”。

因此,在定义中

classdef FirstEveryManCar < Car
properties
model = 'T';
manufacturer = 'Ford';
end
end

属性定义是强制性的,因为类不会自动抽象(如果类层次结构很长,则可以这样做)。

关于matlab - MATLAB 中抽象属性的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com