主要内容

使用一个类来显示图形

类计算面积

CircleArea类显示了一个典型的语法类的定义。这个类存储一个值为一个圆的半径计算圆的面积,当你请求这个信息。CircleArea还实现了图形的方法,显示,创建对象的类。

使用CircleArea类,这段代码复制到一个文件命名CircleArea.m并保存这个文件在一个文件夹,在MATLAB®路径。

classdefCircleArea属性半径结束属性(恒)P =π结束属性(依赖)区域结束方法函数obj = CircleArea(右)如果输入参数个数> 0 obj。半径= r;结束结束函数val = get.Area (obj) val = obj.P * obj.Radius ^ 2;结束函数obj = set.Radius (obj, val)如果val < 0错误(半径必须积极的)结束obj。半径= val;结束函数情节(obj) r = obj.Radius;d = r * 2;pos = [0 0 d d];曲线= [1];矩形(“位置”、pos、“弯曲”曲线,“FaceColor”,(。9。9。9)线([0,r], [r, r])文本(r / 2 r + 5 (' r = 'num2str (r)])标题([的面积= 'num2str (obj.Area)])轴平等的结束函数disp (obj) rad = obj.Radius;disp ([的圆半径:num2str (rad)])结束结束方法(静态)函数obj = createObj提示= {输入半径的};dlgTitle =“半径”;rad = inputdlg(提示,dlgTitle);r = str2double (rad {:});obj = CircleArea (r);结束结束结束

使用CircleArea类

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

ca = CircleArea.createObj

为半径,然后单击添加一个值好吧

查询定义的圆的面积:

ca.Area
ans = 164.2202

调用重载的绘制方法:

情节(ca)

类定义的描述

类定义代码开始classdef关键字紧随其后的是类名:

classdefCircleArea

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

属性半径结束

定义P财产常数(定义类的属性与常量值)。调用π当类初始化函数只有一次。

属性(常数)P =π结束

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

属性(依赖)结束

CircleArea类构造函数方法名称相同的类和接受圆半径的值作为参数。这种方法还允许没有输入参数。(类的构造函数方法)

方法函数obj = CircleArea(右)如果输入参数个数> 0 obj。半径= r;其他的obj。半径= 0;结束结束

因为区域属性是依赖,类不存储它的价值。的get.Area方法计算的值区域财产时查询。(设置和获取方法依赖属性)

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

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

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

CircleArea类过载情节函数。的情节方法使用矩形函数创建一个圆和吸引半径。(在类定义重载函数)

函数情节(obj) r = obj.Radius;d = r * 2;pos = [0 0 d d];曲线= [1];矩形(“位置”、pos、“弯曲”曲线)线([0,r], [r, r])文本(r / 2 r + 5 (' r = 'num2str (r)])轴平等的结束

CircleArea类过载disp函数来改变MATLAB命令窗口中显示对象。

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

CircleArea类定义了一个静态方法使用一个对话框来创建一个对象。(静态方法)

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

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

结束结束