File: constructors.mdc

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (39 lines) | stat: -rw-r--r-- 1,191 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

 Usage

When designing a constructor for a FreeMat class, you should
design the constructor to take a certain form. The following
is the code for the sample mat object

  function p = mat(a)
    if (nargin == 0)
      p.c = [];
      p = class(p,'mat');
    elseif isa(a,'mat')
      p = a;
    else
      p.c = a;
      p = class(p,'mat');
    end

Generally speaking when it is provided with zero arguments,
the constructor returns a default version of the class using
a template structure with the right fields populated with
default values. If the constructor is given a single
argument that matches the class we are trying to construct,
the constructor passes through the argument. This form of
the constructor is used for type conversion. In particular,

     p = mat(a)

guarantees that p is an array of class mat. The last form of
the constructor builds a class object given the input. The
meaning of this form depends on what makes sense for your
class. For example, for a polynomial class, you may want to
pass in the coefficients of the polynomial.

* FreeMat_Documentation
* Object_Oriented_Programming
* Generated on Thu Jul 25 2013 17:17:13 for FreeMat by
  doxygen_ 1.8.1.1