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

Inclusion

928 adding inclusion polymorphism for subtyping and inheritance.

938 C+W refine Strachey's definition by adding "inclusion polymorphism" to model

940 divided into parametric and inclusion polymorphism, which are closely related,

945 | |-- inclusion

959 Inclusion Polymorphism: an object can be viewed as belonging to many different

960 classes that need not be disjoint; that is, there may be inclusion of

962 The two forms of "Universal Polymorphism", parametric and inclusion are closely

976 Inclusion polymorphism is common and is found in languages such as Simula,

978 uses inclusion polymorphism; its used in declaring classes, and subclass

979 polymorphism is used in practice but not enforced. For inheritance, inclusion

994 Inclusion polymorphism can refer to subtyping, or having at least as much or

996 from base classes, such inheritance is an example of inclusion polymorphism

997 with respect to representation (subclassing). An example of inclusion

1002 oriented language using inclusion polymorphism with respect to replacement;

1003 however, inclusion is with respect to subtyping only with abstract types

1011 [As inclusion polymorphism covers both subtype and subclass polymorphism,

1059 statically typed example is, of course, an example of inclusion polymorphism,

1107 class inherits from. With static typing and inclusion polymorphism based on

1149 However, Smalltalk's style uses inclusion polymorphism in practise and

1167 (transitively) from any polymorphic object's class (inclusion polymorphism

1205 addition to inclusion polymorphism).

1429 inclusion of other major or new methodologies should be sent to the FAQ author.

multiple

2 In the domain of object-oriented programming an object is usually taken to mean an ephemeral compilation of attributes (object elements) and behaviors (methods or subroutines) encapsulating an entity. In this way, while primitive or simple data types are still just single pieces of information, object-oriented objects are complex types that have multiple pieces of information and specific properties (or attributes). Instead of merely being assigned a value, (like int =10), objects have to be "constructed". In the real world, if a Ford Focus is an "object" - an instance of the car class, its physical properties and its function to drive would have been individually specified. Once the properties of the Ford Focus "object" had been specified into the form of the car class, it can be endlessly copied to create identical objects that look and function in just the same way. As an alternative example, animal is a superclass of primate and primate is a superclass of human. Individuals such as Joe Bloggs or John Doe would be particular examples or 'objects' of the human class, and consequently possess all the characteristics of the human class (and of the primate and animal superclasses as well).

6 An object-oriented program will usually contain different types of objects, each type corresponding to a particular kind of complex data to be managed or perhaps to a real-world object or concept such as a bank account, a hockey player, or a bulldozer. A program might well contain multiple copies of each type of object, one for each of the real-world objects the program is dealing with. For instance, there could be one bank account object for each real-world account at a particular bank. Each copy of the bank account object would be alike in the methods it offers for manipulating or reading its data, but the data inside each object would differ reflecting the different history of each account.

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.

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

423 1.8) What Is Multiple Inheritance? (Object-Oriented Technology)

424 Multiple Inheritance occurs when a class inherits from more than one parent.

434 1.9) Does Multiple Inheritance Pose Any Additional Difficulties? (Object-Oriented Technology)

439 distinct parents can declare a member within a multiple inheritance hierarchy,

465 Multiple Inheritance brings up the possibility for a class to appear as a

517 Others complain multiple inheritance is too complicated because it brings up

519 systems support Multiple Inheritance by employing semantic resolution

526 supported by dynamic multiple inheritance (DMI) in many situations.

1618 distributed environments and seamlessly interconnects multiple

1763 can concentrate on the application itself without needing to know multiple

1810 -- easier deployment, with the ability to run multiple HP

2076 in a multiple domain heterogeneous network.

2077 NCR Cooperative Frameworks run on multiple UNIX platforms,

2207 - Co-existence of multiple development and

2235 enterprise's physical environment of multiple nodes, disparate

2236 operating systems, and multiple DBMSs.

2367 arrays and multiple inheritance). Intensive research [1] in garbage

2400 multiple containers, leaving many memory management issues unaddressed.

ooa

210 prototype theory in the context of OOA and OOD.

224 this view applied during OOA.

479 and so provides a natural model for OOA and OOD (and even OOP). This is

700 1.21) What Is OOA

703 classified bibliography in [Booch 94] also contains entries on OOA(B), OOD(F)

706 "In OOA, we seek to model the world by identifying the classes and objects

711 "OOA is the challenge of understanding the problem domain, and then the

721 "Whereas OOA typically focuses upon one specific problem at a time, domain

743 OOA and OOD stand for Object-Oriented Analysis and Object-Oriented Design,

744 respectively. OOA strives to understand and model, in terms of object-oriented

750 of OOA specifies a complete system and a complete set of requirements and

753 [Shlaer 88] is often credited as the first book on OOA, although their method

756 information modeling and recursive design, or OOA

761 OOA

777 The usual progression is from OOA to OOD to OOP (implementation) and this

820 A problem domain has many realizations, or differing OOAs. An OOA has many

825 like OOA and OOD getting too far from OOP (implementation independent), for

891 OOA

1426 See also section 1.21 for a discussion on OOA

1442 OOA, OOD, conventional analysis, conventional design, DeMarco SA, Yourdon SA,

1443 Bailin OO requirements specification, Coad-Yourdon OOA, Shlaer-Mellor OOA,

pp

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