计算机专业毕业设计论文外文文献中英文翻译(object)

上传人:F****n 文档编号:100169589 上传时间:2019-09-22 格式:DOC 页数:13 大小:60KB
返回 下载 相关 举报
计算机专业毕业设计论文外文文献中英文翻译(object)_第1页
第1页 / 共13页
计算机专业毕业设计论文外文文献中英文翻译(object)_第2页
第2页 / 共13页
计算机专业毕业设计论文外文文献中英文翻译(object)_第3页
第3页 / 共13页
计算机专业毕业设计论文外文文献中英文翻译(object)_第4页
第4页 / 共13页
计算机专业毕业设计论文外文文献中英文翻译(object)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《计算机专业毕业设计论文外文文献中英文翻译(object)》由会员分享,可在线阅读,更多相关《计算机专业毕业设计论文外文文献中英文翻译(object)(13页珍藏版)》请在金锄头文库上搜索。

1、外文资料Object landscapes and lifetimesTechnically, OOP is just about abstract data typing, inheritance, and polymorphism, but other issues can be at least as important. The remainder of this section will cover these issues. One of the most important factors is the way objects are created and destroyed.

2、 Where is the data for an object and how is the lifetime of the object controlled? There are different philosophies at work here. C+ takes the approach that control of efficiency is the most important issue, so it gives the programmer a choice. For maximum run-time speed, the storage and lifetime ca

3、n be determined while the program is being written, by placing the objects on the stack (these are sometimes called automatic or scoped variables) or in the static storage area. This places a priority on the speed of storage allocation and release, and control of these can be very valuable in some s

4、ituations. However, you sacrifice flexibility because you must know the exact quantity, lifetime, and type of objects while youre writing the program. If you are trying to solve a more general problem such as computer-aided design, warehouse management, or air-traffic control, this is too restrictiv

5、e. The second approach is to create objects dynamically in a pool of memory called the heap. In this approach, you dont know until run-time how many objects you need, what their lifetime is, or what their exact type is. Those are determined at the spur of the moment while the program is running. If

6、you need a new object, you simply make it on the heap at the point that you need it. Because the storage is managed dynamically, at run-time, the amount of time required to allocate storage on the heap is significantly longer than the time to create storage on the stack. (Creating storage on the sta

7、ck is often a single assembly instruction to move the stack pointer down, and another to move it back up.) The dynamic approach makes the generally logical assumption that objects tend to be complicated, so the extra overhead of finding storage and releasing that storage will not have an important i

8、mpact on the creation of an object. In addition, the greater flexibility is essential to solve the general programming problem. Java uses the second approach, exclusively. Every time you want to create an object, you use the new keyword to build a dynamic instance of that object. Theres another issu

9、e, however, and thats the lifetime of an object. With languages that allow objects to be created on the stack, the compiler determines how long the object lasts and can automatically destroy it. However, if you create it on the heap the compiler has no knowledge of its lifetime. In a language like C

10、+, you must determine programmatically when to destroy the object, which can lead to memory leaks if you dont do it correctly (and this is a common problem in C+ programs). Java provides a feature called a garbage collector that automatically discovers when an object is no longer in use and destroys

11、 it. A garbage collector is much more convenient because it reduces the number of issues that you must track and the code you must write. More important, the garbage collector provides a much higher level of insurance against the insidious problem of memory leaks (which has brought many a C+ project

12、 to its knees). The rest of this section looks at additional factors concerning object lifetimes and landscapes. 1 Collections and iteratorsIf you dont know how many objects youre going to need to solve a particular problem, or how long they will last, you also dont know how to store those objects.

13、How can you know how much space to create for those objects? You cant, since that information isnt known until run-time. The solution to most problems in object-oriented design seems flippant: you create another type of object. The new type of object that solves this particular problem holds referen

14、ces to other objects. Of course, you can do the same thing with an array, which is available in most languages. But theres more. This new object, generally called a container (also called a collection, but the Java library uses that term in a different sense so this book will use “container”), will

15、expand itself whenever necessary to accommodate everything you place inside it. So you dont need to know how manyobjects youre going to hold in a container. Just create a container object and let it take care of the details. Fortunately, a good OOP language comes with a set of containers as part of

16、the package. In C+, its part of the Standard C+ Library and is sometimes called the Standard Template Library (STL). Object Pascal has containers in its Visual Component Library (VCL). Smalltalk has a very complete set of containers. Java also has containers in its standard library. In some libraries, a generic container is considered good enough for all needs, and in others (Java, for example) the library has different types of containers for differe

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号