- Global (simple) object creation in Java
- The nature of objects as property maps
- JSON and how to serialize an object with JSON
- How to implement and use Constructor Functions
- What are protocols, and how do protocol chains work
- How to use the DOM to find program elements such as Constructor Functions
- How to use Constructor Functions to reconstruct objects
Languages such as Java/C#/C++ then refine the definition so that a type used for an object definition is statically defined at compile time. The new operation in these languages then means to instantiate (or create a completed final instance) of that object in memory. The definition of that object in memory then never changes.
Language constructs such as the Java interface go a long way towards alleviating some of the worst effects of this static model and made a true abstract definition in the language without the C++ multiple inheritance confusion. This is why interfaces are so successful in making a better object model in Java than C++. But the fact remains that abstract types (interfaces) and classes are always statically defined in Java/C#/C++, and the new operator instantiates a static, final copy of the object.
The chapter will be divided as follows.
Section 5.6 will explain instance-based OOP languages, and how objects are implemented and used in these languages, so that the reader can then compare the properties and behaviors.
At the end of this chapter, the reader should understand the object model that will be used in this text, and that will be used in the next chapter.