DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(goops.info.gz) Instance creation and slot access

Info Catalog (goops.info.gz) Class hierarchy and inheritance of slots (goops.info.gz) Inheritance (goops.info.gz) Slot description
 
 Instance creation and slot access
 ---------------------------------
 
 Creation of an instance of a previously defined class can be done with
 the `make' procedure. This procedure takes one mandatory parameter
 which is the class of the instance which must be created and a list of
 optional arguments. Optional arguments are generally used to initialize
 some slots of the newly created instance. For instance, the following
 form
 
      (define c (make <complex>))
 
 will create a new `<complex>' object and will bind it to the `c' Scheme
 variable.
 
 Accessing the slots of the new complex number can be done with the
 `slot-ref' and the `slot-set!'  primitives. `Slot-set!' primitive
 permits to set the value of an object slot and `slot-ref' permits to
 get its value.
 
      (slot-set! c 'r 10)
      (slot-set! c 'i 3)
      (slot-ref c 'r) => 10
      (slot-ref c 'i) => 3
 
 Using the `describe' function is a simple way to see all the slots of
 an object at one time: this function prints all the slots of an object
 on the standard output.
 
 First load the module `(oop goops describe)':
 
      `(use-modules (oop goops describe))'
 
 The expression
 
      (describe c)
 
 will now print the following information on the standard output:
 
      #<<complex> 401d8638> is an instance of class <complex>
      Slots are:
           r = 10
           i = 3
 
Info Catalog (goops.info.gz) Class hierarchy and inheritance of slots (goops.info.gz) Inheritance (goops.info.gz) Slot description
automatically generated byinfo2html