chapter08ccylinder__define.pro
来自「IDL可视化工具入门与提高(PDF)及其随书代码」· PRO 代码 · 共 46 行
PRO
46 行
; Chapter08CCylinder__DEFINE.PRO
; --------------------------------------------------------------------
FUNCTION Chapter08CCylinder::Init, radius, high
IF N_PARAMS() NE 2 THEN BEGIN
void=DIALOG_MESSAGE('Init requires Radius and High arguments!')
RETURN, 0
ENDIF ELSE BEGIN
self.radius = radius
self.high = high
RETURN, 1
ENDELSE
END
; --------------------------------------------------------------------
PRO Chapter08CCylinder::GetProperty, radius=radius, high=high
radius = self.radius
high = self.high
END
; --------------------------------------------------------------------
PRO Chapter08CCylinder::SetProperty, radius=radius, high=high
IF KEYWORD_SET(radius) THEN BEGIN
self.radius = radius
ENDIF ELSE BEGIN
self.radius = 10
ENDELSE
IF KEYWORD_SET(high) THEN BEGIN
self.high = high
ENDIF ELSE BEGIN
self.high = 20
ENDELSE
END
; --------------------------------------------------------------------
FUNCTION Chapter08CCylinder::CalculateVolume
SELF->GetProperty, radius = radius, high=high
RETURN, !PI * radius^2 * high
END
; --------------------------------------------------------------------
PRO Chapter08CCylinder::PrintVolume
SELF->GetProperty, radius = radius, high=high
Volume = !PI * radius^2 * high
void = DIALOG_MESSAGE('Volume: '+ STRING(Volume),/INFORMATION)
END
; --------------------------------------------------------------------
PRO Chapter08CCylinder__DEFINE
void = { Chapter08CCylinder, radius:0L, high:0L }
END
; --------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?