Abstract Data Types.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Abstract Data Types.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Type system in PL: Abstraction, Safety, Optimization, Documentation * * * * * * * * * * * * * * * * * * * * * An Example in C++ class stack private: int *stackPtr, maxLen, topPtr; public: stack // a constructor stackPtr new int [100]; maxLen 99; topPtr -1; ; ~stack delete [] stackPtr; ; void push int num … ; void pop … ; int top … ; int empty … ; 鼓励声明和实现分离 C++也存在声明中有私有表示的问题,如何弥补? Evaluation of ADTs in C++ and Ada C++ support for ADTs is similar to expressive power of Ada Both provide effective mechanisms for encapsulation and information hiding Ada packages are more general encapsulations; classes are types Language Examples: C++ continued Friend functions or classes - to provide access to private members to some unrelated units or functions Necessary in C++ Language Examples: Java Similar to C++, except: All user-defined types are classes All objects are allocated from the heap and accessed through reference variables Individual entities in classes have access control modifiers private or public , rather than clauses Java has a second scoping mechanism, package scope, which can be used in place of friends All entities in all classes in a package that do not have access control modifiers are visible throughout the package An Example in Java class StackClass private int [] stackRef; private int [] maxLen, topIndex; public StackClass // a constructor stackRef new int [100]; maxLen 99; topPtr -1; ; public void push int num … ; public void pop … ; public int top … ; public boolean empty … ; Language Examples: C# Based on C++ and Java Adds two access modifiers, internal and protected internal All class instances are heap dynamic Default constructors are available for all classes Garbage collection is used for most heap objects, so destructors are rarely used structs are lightweight cl

文档评论(0)

gshbzl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档