有关抽象数据类型(ADT)的学习心得

1.这里第一个需要注意的事项是Mutability与Immutability,也就是可变与不变性。

immutable类型的变量一旦被创建出来之后,其值就不能再被改变了。在编写程序时,对于可以用final关键词修饰这种变量。所以,由此我觉得,在我之后的实际编程中,应该使用final变量作为方法的输入参数,这样可以保证它的不变性。

 

另外,如果我们对immutable类型的变量进行频繁的修改,会占用大量的空间,这会占用过多的内存,所以我们在编程时,也不要过度使用。

之后就是ADT操作的4种基本类型:构造、生产、观察、变值,构造就是通过构造函数或其他函数生成一个新的对象,而生产是通过现有的对象生成一个新的对象,观察是从一个抽象的对象中返回一个不同类型的对象。而变值是改变对象。

之后我又学习了表示独立性:这部分主要是满足客户的需求,客户不需要了解到内部如何实现,只需要了解到最后的运行结果和开始的输入要求。

之后又学习了表示泄露:有的时候我们返回了一个mutable的值,这样就将内部代码泄露给了客户端,这就构成了表示泄露。

之后又学习了AF和RI的书写:我们可以把RI看做所有表示值的一个子集,包含了所有合法的表示值。也可以当作合法的一个条件。AF是表示空间和抽象空间的映射,在编写程序时,如果我们能将这AF正确书写,对于我们的编程会十分有用。

 

在学习面向对象这部分知识的过程中,我了解到了设计ADT的具体过程和大致思路,而且还了解到要为了防止进行防御式拷贝,对于ADT的设计有了初步的掌握。而且有了初步的规范。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值