subsections:


The notion of object -- Simula


slide: The heritage of Simula


object-oriented


structurally

operationally

behaviorally


slide: Perspectives of object orientation


Objects -- language characteristics

  • object creation facility
  • message-passing capability
  • class capability
  • inheritance features

Classification

  • hybrid -- C, Lisp, Pascal, Prolog
  • frame-based -- knowledge-based reasoning
  • distributed, concurrent, actor -- parallel computing
  • alternative object models -- prototypes, delegation

slide: A classification of languages


Object extensions

Commercial products -- languages


slide: Object-oriented languages


class and struct">

Object structure -- efficient mapping

C++


  struct A { ... }  ==  class   A { public: ...  } 
  class   A { ... }  ==  struct A { private: ... } 
  

slide: The equivalence between


Script languages

Java embedding



slide: Script languages


  
  <script language=Javascript> 
javascript
function object_display(msg) { // object method return msg + ' (' + this.variable++ + ')'; } function object() { // object constructor this.variable=0; this.display = object_display; return this; } var a = new object(); // create object document.write(a.display("a message")); document.write(a.display("another message")); </script>