ObjectOriented Programming: History, Multiple Inheritance - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

ObjectOriented Programming: History, Multiple Inheritance

Description:

Techniques: classes, inheritance, RTTI, virtual functions, ... CORBA, COM, DCOM, .NET. Motivation: components in distributed environment, multi-language ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 9
Provided by: Vincent156
Category:

less

Transcript and Presenter's Notes

Title: ObjectOriented Programming: History, Multiple Inheritance


1
Object-Oriented Programming History, Multiple
Inheritance
  • Jesús A. Izaguirre

2
History of OOP I
  • SIMULA (Nygaard Dahl, Norway, 1962)
  • Motivation Objects for simulation (e.g., traffic
    control, epidemiology, queues, etc.)
  • Techniques classes, inheritance, RTTI, virtual
    functions, concurrency, garbage collection,
    polymorphism
  • Smalltalk (Kay, Xerox Parc, 1972)
  • Motivation graphical user interfaces for
    personal computers, prototyping
  • Techniques virtual machine (like Pascal),
    message passing, everything is an object, IDE,
    class browser, design patterns

3
History of OOP II
  • CLOS
  • Motivation OO Lisp for AI
  • Techniques multiple inheritance, multi-methods
  • Hybrid languages
  • Objective C (Cox)
  • Motivation Next computers
  • Techniques Complete set of libraries
  • C (Stroustrup)

4
History of OOP III
  • Eiffel (Meyer, 1988-2002)
  • Motivation Object-Oriented Software Construction
  • Techniques design by contract, constrained
    genericity, incremental compilation
  • CORBA, COM, DCOM, .NET
  • Motivation components in distributed
    environment, multi-language

5
Multiple Inheritance I
  • We have two types
  • Structure inheritance from disjoint abstractions
    (e.g., Real and Integer derived from Numeric and
    Comparable)
  • Facility inheritance, to use a set of related
    facilities (e.g., image processing library used
    by our windows)

6
Multiple Inheritance II
  • Name clashes
  • A class that inherits different but identically
    named methods is invalid
  • One can use renaming of the methods in the
    derived (inherited class)

7
Multiple Inheritance III
  • Repeated ancestors (Hw 8, ex. 7)
  • In a repeated descendant, versions of a
    repeatedly inherited class member represent a
    single member
  • Versions inherited under different names (through
    renaming) represent separate members
  • Methods may be redefined, that is, their behavior
    changed

8
References
  • History
  • N.A.B. Gray, Programming with Class, Ch. 2, John
    Wiley Sons Ltd, 1994,
  • Multiple inheritance
  • B. Meyer, Object-Oriented Software Construction,
    Ch. 15, 2e, Prentice-Hall, 1997
  • B. Stroustrup, The C Programming Language, Ch.
    15, Third Ed., Addison Wesley, 1997
  • H. Sutter, More Exceptional C, pp. 155-167,
    Addison Wesley, 2002
Write a Comment
User Comments (0)
About PowerShow.com