②Ada的判全或是安全的 type DEPT is(HOUSEWARE, SPORTS DRUGS, FOOD, LIQUOR) type MOnTH is range 1.12 type ITEM(AVAILABLE: BOOLEAN: =TRUE)iS record PRICE: REAL case available of when TRue=>AMOUNtINTeger WHERE DEPT when FAlsE=>MONTH EXPECTED: MONTh end case end record
②Ada的判全或是安全的 type DEPT is (HOUSEWARE,SPORTS, DRUGS,FOOD,LIQUOR); type MONTH is range 1..12; type ITEM (AVAILABLE:BOOLEAN: =TRUE) is record PRICE:REAL; case AVAILABLE of when TRUE=>AMOUNT:INTEGER; WHERE:DEPT; when FALSE=>MONTH_EXPECTED:MONTH end case; end record;
●判定或可具有缺省初值 也可以说明一个对象的变体是冻结的 单独对判定或赋值是不允许的 PEACH: ITEM ORANGE ITEMFALSE) COCA COLA: ITEM COCA COAL:= ORANGE;(合法 COCA COAL: (PRICE=>1.99, AVAILABLE=>TRUE AMOUNT>1500, WHERE=>FOOD)
判定或可具有缺省初值 也可以说明一个对象的变体是冻结的 单独对判定或赋值是不允许的 PEACH:ITEM; ORANGE:ITEM(FALSE); COCA_COLA:ITEM; COCA_COAL:=ORANGE; (合法) COCA_COAL:=(PRICE=>1.99,AVAILABLE=>TRUE, AMOUNT=>1500,WHERE=>FOOD);
3访问类型 ①不完全类型说明 应用于Ada的递归类型 type BINARY TREE NODE type tree reF iS access BINARY TREE NODE type BINARY TREE NODE iS recor INFO: CHARACTER LEFTRIGHT: TREE REF end ②P咄代表整个结点
3.访问类型 ①不完全类型说明 应用于Ada的递归类型 type BINARY_TREE_NODE; type TREE_REF is access BINARY_TREE_NODE; type BINARY_TREE_NODE is record INFO:CHARACTER; LEFT,RIGHT:TREE_REF; end; ②P.all代表整个结点