主要内容

编写表类的构造函数

当你开发一个图表的一个子类ChartContainer基类,基类提供了一个默认的构造函数,接受可选名称-值对参数设置表的属性。例如,这个命令创建一个类的实例调用ConfidenceChart

ConfidenceChart (“XData”,x,“YData”,y,“ConfidenceMargin”,0.15,“颜色”(1 0 0))

通过编写一个自定义的构造函数方法,您可以提供一个接口,接受单个参数值和可选的参数名称-值对。例如,您可以设计一个自定义构造函数调用语法变化ConfidenceChart所以这两个命令是有效的方法来创建图表:

ConfidenceChart (x, y, 0.15) ConfidenceChart (x, y, 0.15,“颜色”(1 0 0))

当你写构造函数的方法:

  • 指定输入参数在函数声明你想支持。金宝app包括变长度输入宗量最后输入参数来捕获任何属性名称-值对用户指定的参数。

  • 调用ChartContainer构造函数之前所有其他图表对象的引用。

例如,下面的构造函数方法ConfidenceChart类执行这些任务:

  • 检查输入参数,并返回一个错误的数量,如果数量小于3。

  • 转换x,y,保证金的名称-值对参数值ChartContainer构造函数接受,并将结果存储在arg游戏

  • 附加任何指定的名称-值对论点的arg游戏

  • 通过arg游戏ChartContainer构造函数方法。

方法函数obj = ConfidenceChart (x, y,边缘变长度输入宗量)%检查至少有三个输入如果输入参数个数< 3错误(没有足够的输入的);结束%把x, y,和保证金名称-值对args = {“XData”,x,“YData”,y,“ConfidenceMargin”,边缘};%将arg游戏与用户提供的名称-值对args = (args变长度输入宗量);%调用父类的构造函数方法obj@matlab.graphics.chartcontainer.ChartContainer (args {:});结束结束

例子:信心界限图使用自定义构造函数

这个例子展示了如何开发一个图,一个自定义构造函数接受单一输入参数和可选参数名称-值对。周围的图块与标记和信心。

创建一个程序文件命名ConfidenceChart.m在一个文件夹,在MATLAB®路径。通过以下步骤定义类。

一步 实现

源自ChartContainer基类。

classdefConfidenceChart < matlab.graphics.chartcontainer.ChartContainer

定义公共属性。

属性XData(: 1)双=南YData(1:)双=南ConfidenceMargin(1, 1)双= 0.15 MarkerSymbol char = (1:)“o”颜色(1、3)翻倍{mustBeGreaterThanOrEqual(颜色,0),mustBeLessThanOrEqual(颜色,1)}= [100]结束

定义私有财产。

属性(访问=私人、瞬态NonCopyable) LineObject matlab.graphics.chart.primitive (1,1)。行PatchObject matlab.graphics.primitive.Patch (1,1)结束

实现自定义构造函数方法,接受x,y,保证金名称-值对参数值和可选属性。

方法函数obj = ConfidenceChart (x, y,边缘变长度输入宗量)%检查至少有三个输入如果输入参数个数< 3错误(没有足够的输入的);结束%把x, y,和保证金名称-值对args = {“XData”,x,“YData”,y,“ConfidenceMargin”,边缘};%将arg游戏与用户提供的名称-值对。args = (args变长度输入宗量);%调用父类的构造函数方法obj@matlab.graphics.chartcontainer.ChartContainer (args {:});结束结束

实现设置方法。

方法(访问=保护)函数设置(obj)%的轴ax = getAxes (obj);%创建补丁和对象obj。PatchObject =补丁(ax,南南“r”,“FaceAlpha”,0.2,“EdgeColor”,“没有”);(ax,“上”obj。LineObject =情节(ax,南南);(ax,“关闭”)结束

实现更新方法。

函数更新(obj)%更新XData YData线obj.LineObject。XData = obj.XData;obj.LineObject。YData = obj.YData;%更新补丁XData和YDatax = obj.XData;obj.PatchObject。XData = [x x(结束:1:1)];y = obj.YData;c = obj.ConfidenceMargin;obj.PatchObject。YData = [y + c y(结束:1:1)- c];%更新颜色obj.LineObject。颜色= obj.Color;obj.PatchObject。FaceColor = obj.Color;%更新标记obj.LineObject。标志= obj.MarkerSymbol;结束结束结束

接下来,创建一个实例ConfidenceChart。指定x- - -y坐标、幅度值和一个标志符号。

x = 0:0.2:10;y = besselj (0, x);ConfidenceChart (x, y, 0.20,“MarkerSymbol”,“>”);

另请参阅

功能

属性

相关的话题