软件构造知识总结

本文概述了抽象数据类型(ADT)的核心概念,包括抽象函数、表示独立性和表示不变性。介绍了ADT的构造器、生产器、观察器和变值器等操作类型,并强调了在设计ADT时应遵循的规则,以及如何通过测试确保其正确性。同时,文章讨论了表示独立性的重要性,以及如何通过表示不变性来维护ADT的稳定性。
摘要由CSDN通过智能技术生成

Chapter 6:Abstract Data Type
抽象数据类型相关概念

抽象数据类型(ADT)强调“作用于数据上的操作”,程序员和客户端无需关心数据如何具体存储的,只需设计/使用操作即可。

抽象数据类型的特性:

    可能发生表示泄露
    抽象函数(abstraction function) [AF]
    表示独立性(representation independence) [RI]
    表示不变性(representation invariant)

抽象数据类型的操作分类:

    构造器(creator):t* → T,可能实现为构造函数或静态函数(工厂方法)
    生产器(producer):T+, t* → T
    观察器(observer):T+, t* → t
    变值器(mutator):T+, t* → void | t | T,通常返回void,也可返回非空(如本身、修改结果等)
    注:T代表抽象类型自身,t是其他类型,+表示类型出现一次或多次,*表示类型出现零次或多次。

例:

    Integer.valueOf() – Creator
    new ArrayList() – Creator
    Arrays.asList() – Creator
    String.concat() – Producer
    BigInteger.mod() – Producer
    String.toUpperCase() – Producer
    List.size() – Observer
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值