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

24 Object inheritance (or delegation)

89 delegation languages.

187 Delegation

204 dynamic multiple inheritance (or more typically simple delegation). Here, the

214 differences are significant too:-) Delegation refers to delegating the

381 In delegation languages, such as Self, inheritance is delegation where objects

384 Inherited parents can specify various flavors of state. Delegation languages

460 systems, such as Self, provide dynamic inheritance in the form of delegation

512 (although they don't need to be. For example, delegation languages allow graph

913 by) or become many different forms of object. Inheritance (or delegation)

1239 3.2) What Is The "Delegation

1242 This is the 1 Level System as Described under Meta-Classes. Delegation refers

1245 to one of its base classes. In delegation systems, each object has a delegate

1250 sort). Typically, delegation and prototyping languages also have "part

1254 delegation languages usually refers to objects serving as prototypes for

1256 Next's NextStep OS provides delegation using Objective-C, providing an example

1257 of delegation in a class-based language [Garfinkel 93].

1267 delegation and classical systems, where parent classes have an extra level

general

55 Challenges of object-oriented design are addressed by several methodologies. Most common is known as the design patterns codified by Gamma et al.. More broadly, the term "design patterns" can be used to refer to any general, repeatable solution to a commonly occurring problem in software design. Some of these commonly occurring problems have implications and solutions particular to object-oriented development.

56 It is intuitive to assume that inheritance creates a semantic "is a" relationship, and thus to infer that objects instantiated from subclasses can always be safely used instead of those instantiated from the superclass. This intuition is unfortunately false in most OOP languages, in particular in all those that allow mutable objects. Subtype polymorphism as enforced by the type checker in OOP languages (with mutable objects) cannot guarantee behavioral subtyping in any context. Behavioral subtyping is undecidable in general, so it cannot be implemented by a program (compiler). Class or object hierarchies need to be carefully designed considering possible incorrect uses that cannot be detected syntactically. This issue is known as the Liskov substitution principle.

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.

243 their objects thru classes. C++ has a very general encapsulation

266 whereby no method or object structure can be inferred in the general case.

268 A class is a general term denoting classification and also has a new meaning

666 typically isn't recommended as a general OO practice (see section 1.15, C+W's

689 general undecidability of dynamic types at compile-time renders dynamic typing

690 and run-time selection (or checking) as unavoidable in the general case [a

1125 any common functions for the more general subtyping or parametric polymorphic

1372 Peace (OO family-based parallel OS, See Appendix E, General)

1498 In answer to your general question about the OMG, here's a brief overview.

1507 in general, and

1662 UX, IBM RS-6000, Data General Aviion, MS-Windows (client

1859 RDOM has been at beta test sites since January. General release of

2091 developers with general availability set for December, 1993;

2093 with general availability set for 2Q 1994

2644 (bruce@utafll.uta.edu). It is a general superclass for application

meta-class

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