Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
oop-concordance.rtf
Скачиваний:
6
Добавлен:
10.02.2016
Размер:
2.04 Mб
Скачать

2282 Garbage collection (gc) is a facility in the run-time system associated with a

2286 below). [Ada has switchable GC, too -bob]

2287 Without GC programmers must explicitly deallocate dynamic storage when

2313 One partial solution to a lack of GC is reference counting. In this

2318 circular data structures. Two systems that use a reference count GC

2321 Opponents of GC reply that it introduces an overhead which is

2323 storage deallocation is probably as high as GC. GC algorithms are

2325 [Further, GC can perform compaction improving locality of reference.]

2328 for GC.

2333 This is an excellent summary of the state of the art in GC algorithms. This

2340 Sept 1988. This describes GC in C and C++.

2344 gc

2345 gc.html

2346 [4] Geodesic Systems provides GC for C and C++. See http:

2364 performance than GC, awkward syntax, and poor semantics, which typically

2369 counting an inadequate substitute for true GC.

include

1 Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance. Many modern programming languages now support OOP, at least as an option. In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object-oriented programming the same word, "object", refers to a particular instance of a class)

7 Objects can be thought of as wrapping their data within a set of functions designed to ensure that the data are used appropriately, and to assist in that use. The object's methods will typically include checks and safeguards that are specific to the types of data the object contains. An object can also offer simple-to-use, standardized methods for performing particular operations on its data, while concealing the specifics of how those tasks are accomplished. In this way alterations can be made to the internal structure or methods of an object without requiring that the rest of the program be modified. This approach can also be used to offer standardized methods across different types of objects. As an example, several different types of objects might offer print methods. Each type of object might implement that print method in a different way, reflecting the different kinds of data each contains, but all the different print methods might be called in the same standardized manner from elsewhere in the program. These features become especially useful when more than one programmer is contributing code to a project or when the goal is to reuse code between projects.

12 In the 1970s, Kay's Smalltalk work had influenced the Lisp community to incorporate object- based techniques that were introduced to developers via the Lisp machine. Experimentation with various extensions to Lisp (like LOOPS and Flavors introducing multiple inheritance and mixins), eventually led to the Common Lisp Object System (CLOS, a part of the first standardized object-oriented programming language, ANSI Common Lisp), which integrates functional programming and object-oriented programming and allows extension via a Meta- object protocol. In the 1980s, there were a few attempts to design processor architectures that included hardware support for objects in memory but these were not successful. Examples include the Intel iAPX 432 and the Linn Smart Rekursiv.

17 Just as procedural programming led to refinements of techniques such as structured programming, modern object-oriented software design methods include refinements[citation needed] such as the use of design patterns, design by contract, and modeling languages (such as UML).

27 Additional concepts used in object-oriented programming include:

92 reality" [Booch 91, p77]. Other definitions referenced by Booch include

449 from more than one class must textually include all but one of those classes in

837 based software process (TSP?). Other CMM's in the works at the SEI include a

1124 restrictions include only allowing a common set of base class functions (or

1224 While generics have many advantages, typical limitations include a static

1809 New HP Distributed Smalltalk 2.0 features include the following:

1861 The C++ interface in August. Customers include AMD, Consilium and Swiss

2083 environments supported include CFRONT and C++ Workbench from

2284 OO Languages which require garbage collection include Eiffel, Smalltalk and

2311 length, include file nesting and macro stack depth. This causes

2365 include failure to reclaim cycles, inability to handle stack and static

2444 or other means. Sections include Written Material, Courses, and

libraries

4 Objects are used in software development to implement abstract data structures, by bringing together the data components with the procedures that manipulate them. Objects in object- oriented programming are key in the concept of inheritance; thereby improving program reliability[attribution needed], simplification of software maintenance[attribution needed], the management of libraries, and the division of work in programmer teams. Object-oriented programming languages are generally designed to exploit and enforce these potential advantages of the object model. Objects can also make it possible to handle very disparate objects by the same piece of code, as long as they all have the proper method. Simple, non-OOP programs may be one "long" list of statements (or commands). More complex programs will often group smaller sections of these statements into functions or subroutines each of which might perform a particular task. With designs of this sort, it is common for some of the program's data to be 'global', i.e. accessible from any part of the program. As programs grow in size, allowing any function to modify any piece of data means that bugs can have wide-reaching effects.

63 Both object-oriented programming and relational database management systems (RDBMSs) are extremely common in software today. Since relational databases don't store objects directly (though some RDBMSs have object-oriented features to approximate this), there is a general need to bridge the two worlds. The problem of bridging object-oriented programming accesses and data patterns with relational databases is known as Object-Relational impedance mismatch. There are a number of approaches to cope with this problem, but no general solution without downsides.[20] One of the most common approaches is object-relational mapping, as found in libraries like Java Data Objects and Ruby on Rails' ActiveRecord.

487 of reuse takes advantage of the is-a-kind-of relationship. Class libraries

1558 7) Class Libraries.

1678 (1) C++ ORB toolkit consisting of over 300 C++ classes and runtime libraries

1770 standard for how objects (in applications, repositories or class libraries)

1814 object libraries;

2027 C++ class libraries that:

2040 runtime libraries

2056 - Fine-grain Data Management - class libraries are

2087 architectures as a set of DLL and shared libraries

2300 4: Libraries with different deallocation strategies are often

2392 manually managed components and libraries often use incompatible memory

2393 management schemes. For example, there are common container libraries using

2405 Any components or libraries that use containers with different memory

2470 must be shipped with the class libraries.

2472 with their libraries, all of the other vendors will be forced, by

ncr

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]