Abstract type: Difference between revisions

Content added Content deleted
(Add Skew)
imported>Acediast
(→‎Interface: added explicit scope delimiters for COMPUTE)
Line 643: Line 643:
===Interface===
===Interface===
{{trans|F#}}
{{trans|F#}}
<syntaxhighlight lang="cobol"> INTERFACE-ID. Shape.
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION.
INTERFACE-ID. Shape.
PROCEDURE DIVISION.
PROCEDURE DIVISION.
IDENTIFICATION DIVISION.
METHOD-ID. perimeter.
METHOD-ID. perimeter.
DATA DIVISION.
DATA DIVISION.
Line 654: Line 656:
END METHOD perimeter.
END METHOD perimeter.
IDENTIFICATION DIVISION.
METHOD-ID. shape-area.
METHOD-ID. shape-area.
DATA DIVISION.
DATA DIVISION.
Line 664: Line 667:


IDENTIFICATION DIVISION.
CLASS-ID. Rectangle.
CLASS-ID. Rectangle.
Line 671: Line 675:
INTERFACE Shape.
INTERFACE Shape.
IDENTIFICATION DIVISION.
OBJECT IMPLEMENTS Shape.
OBJECT IMPLEMENTS Shape.
DATA DIVISION.
DATA DIVISION.
Line 679: Line 684:
PROCEDURE DIVISION.
PROCEDURE DIVISION.
IDENTIFICATION DIVISION.
METHOD-ID. perimeter.
METHOD-ID. perimeter.
DATA DIVISION.
DATA DIVISION.
Line 684: Line 690:
01 ret USAGE FLOAT-LONG.
01 ret USAGE FLOAT-LONG.
PROCEDURE DIVISION RETURNING ret.
PROCEDURE DIVISION RETURNING ret.
COMPUTE ret = width * 2.0 + height * 2.0
COMPUTE
GOBACK
ret = width * 2.0 + height * 2.0
.
END-COMPUTE
GOBACK.
END METHOD perimeter.
END METHOD perimeter.
IDENTIFICATION DIVISION.
METHOD-ID. shape-area.
METHOD-ID. shape-area.
DATA DIVISION.
DATA DIVISION.
Line 694: Line 702:
01 ret USAGE FLOAT-LONG.
01 ret USAGE FLOAT-LONG.
PROCEDURE DIVISION RETURNING ret.
PROCEDURE DIVISION RETURNING ret.
COMPUTE ret = width * height
COMPUTE
GOBACK
ret = width * height
.
END-COMPUTE
GOBACK.
END METHOD shape-area.
END METHOD shape-area.
END OBJECT.
END OBJECT.