Abstract data type (source code)

= Abstract data type
{wiki}

An <abstract data type> specifies values and operations independently of their storage. A <FIFO queue> has ordered <sequences> as its abstract values; an <array> and a <linked list> can represent those same values. A <representation invariant> identifies valid storage states, and an <abstraction function> says what each valid state means.<6.005 Software Construction, Spring 2016/Reading 13: Abstraction Functions & Rep Invariants>[Reading 13, Rep Invariant and Abstraction Function: representation values, abstract values, AF and RI]{ref}