编写表类的构造函数
当你开发一个图表的一个子类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®路径。通过以下步骤定义类。
一步 | 实现 |
---|---|
源自 |
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)结束
|
实现自定义构造函数方法,接受 |
方法函数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”,“>”);