∟$instance Statement - Define Instance Template

This section describes the $instance statement for defining instance template.

The $instance statement is for defining instance properties and methods within the class definition body using the following syntax:

$class class_name: {
   ...
   $instance template_name: {
      template_name.property_name = ...; 
      ...
      $method template_name.method_name(): {...};
      ...
   }
}

The instance template is like a model house created by the builder to show to potential clients. If a client like it and order for a new house, the builder will create a copy of the model house and give it the client.

Back to the H language, if you like what you see in the instance template, the list of properties and methods, you call the class constructor function to create a new instance (or object).

Example of $instance statements:

$class user: {
   
   # $instance statement to define an instance template
   $instance x: {
      x.login = "guest";
      x.password = "DontTell";
      $method x.changePassword(newPassword): {
         x.password = newPassword;
      }
   }
}

Design options:

1. Use $instance as the keyword for defining the instance template.

2. Use $template as the keyword for defining the instance template.

Table of Contents

 About This Book

 Introduction of H Language

 Syntax

 Data Types

 Variables

 Expressions

 Statements

 "boolean" Data Type

 "integer" Data Type

 "string" Data Type

 "real" Data Type

 "array" Data Type

 Source Code Packages

►Classes and Objects

 What Is Class

 What Is Object

 $class Statement - Create New Classes

 Class Variables and Functions

 Execution of $class Definition Body

 __new() - Object Constructor Function

►$instance Statement - Define Instance Template

 Execution of $instance Definition Body

 Access Object Properties

 $method Statement - Define Object Method

 Access Object Methods

 _first() Method - Object Initialization

 Access Class Variables from Object Methods

 __delete() - Object Destructor Method

 $delete Statement - Delete Objects

 _last() Method - Object Cleanup

 Object Oriented Programming

 Inheritance - Object Attachments

 Encapsulation - Private Members

 References

 Full Version in PDF/ePUB