ADT(abstract data types)抽象数据类型

Posted KennyRom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADT(abstract data types)抽象数据类型相关的知识,希望对你有一定的参考价值。

1、What is it?

An abstract data type is a set of objects together with a set of operations.

抽象数据类型是带有一组操作的一组对象的集合。

ADTS=objects+operations

 

2、How to define?

ADT Name
  Describe of data;
  Operations;
End ADT
Operations description:

Name(parameter list)
  Input:     data used to input
  Output:   data used to output
  Pre-condition:  if the condiont my not be satisfied, the operation may not be correct
  
 Post-condition:  The status after the operation be executed

  

3、Example

ADT Bigint
    Data
        n: 0..2^54-1
    Operations:
       
         addone
            Pre-condition:     n+1<2^54;
            Post-condition:    n=n+1;
        
         subone
             Pre-condition:    n>0;
             Post-condition:   n=n-1;
         
         mult(x,y)
             Input:   (x:Bigint);
             Output: (y:Bigint);
             Pre-condition:  n*x.n<2^54;
             Post-condition: y.n=n*x.n;
End ADT

 

以上是关于ADT(abstract data types)抽象数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Abstract Data Types in C

HIT软件构造课程3.1总结(data type and type checking)

Algebraic Data Type 及其在 Haskell 和 Scala 中的表现

abstract关键字

抽象类abstract

abstract class与 interfacer