主要内容

使用类显示图形

类计算区域

CircleAreaClass显示典型类定义的语法。该类存储圆的半径值,并在请求此信息时计算圆的面积。CircleArea还实现了图形化、显示和创建类对象的方法。

使用CircleArea类,将此代码复制到名为CircleArea.m然后把这个文件保存在MATLAB的文件夹里®路径。

classdefCircleArea属性半径结束属性(常数)P = pi结束属性(依赖)区域结束方法函数obj = CircleArea(r)如果Nargin > 0 obj。半径= r;结束结束函数val = get.Area(obj) val = obj. p *obj. radius ^2;结束函数obj = set.Radius(obj,val)如果Val < 0错误(半径必须是正的结束obj。半径= val;结束函数plot(obj) r = obj.半径;D = r*2;Pos = [0 0 d d];Curv = [1 1];矩形(“位置”、pos、“弯曲”曲线,“FaceColor”,(。9 .9 .9]) line([0,r],[r,r]) text(r/2,r+.5,['r = 'num2str (r)])标题(['Area = 'num2str (obj.Area)])轴平等的结束函数disp(obj) rad = obj. radius;disp ([有半径的圆:num2str (rad)])结束结束方法(静态)函数obj = createObj prompt = {“进入半径”};dlgTitle =“半径”;rad = inputdlg(提示,dlgTitle);R = str2double(rad{:});obj = CircleArea(r);结束结束结束

使用CircleArea类

使用对话框创建一个对象:

ca = CircleArea.createObj

添加半径值,单击好吧

查询所定义圆的面积。

ca.Area
Ans = 164.2202

调用重载plot方法:

情节(ca)

类定义描述

类定义代码以classdef关键字后跟类名:

classdefCircleArea

定义半径属性-结束关键词。使用默认属性:

属性半径结束

定义P财产常数用常量定义类属性)。调用π函数在初始化类时只执行一次。

属性(常量)P = pi结束

定义区域财产依赖因为它的值取决于半径财产。

properties(从属)区域结束

CircleArea类构造函数方法具有与类相同的名称,并接受圆半径的值作为参数。这个方法也不允许输入参数。(类构造方法

方法函数obj = CircleArea(r)如果Nargin > 0 obj。半径= r;其他的obj。半径= 0;结束结束

因为区域属性是依赖,类不存储它的值。的得到的。区域方法的值区域属性。(设置和获取依赖属性的方法

函数val = get.Area(obj) val = obj. p *obj. radius ^2;结束

集。半径方法测试分配给半径属性,以确保该值不小于零。MATLAB调用集。半径为Radius分配一个值。(属性集方法

函数obj = set.Radius(obj,val)如果Val < 0错误(半径必须是正的结束obj。半径= val;结束

CircleArea类重载情节函数。的情节方法使用矩形函数创建一个圆并绘制半径。(类定义中的重载函数

函数plot(obj) r = obj.半径;D = r*2;Pos = [0 0 d d];Curv = [1 1];矩形(“位置”、pos、“弯曲”,curv) line([0,r],[r,r]) text(r/2,r+.5,['r = 'num2str (r)])轴平等的结束

CircleArea类重载disp函数来改变MATLAB在命令窗口中显示对象的方式。

函数disp(obj) rad = obj. radius;disp ([有半径的圆:num2str (rad)])结束
结束方法(静态)

CircleArea类定义了静态方法,该方法使用对话框创建对象。(静态方法

函数obj = createObj prompt = {“进入半径”};dlgTitle =“半径”;rad = inputdlg(提示,dlgTitle);R = str2double(rad{:});obj = CircleArea(r);结束

结束静态方法块和结束classdef块。

结束结束