diff test/classdef/foo_value_class.m @ 15961:3e782e337f8d classdef

Rename classdef test class foo_payment to foo_value_class * test/classdef/foo_value_class.m: Rename foo_payment -> foo_value_class. * test/classdef/module.mk: Ditto. * test/classdef/test_classdef.m: Ditto.
author Ben Abbott <bpabbott@mac.com>
date Thu, 17 Jan 2013 17:23:58 -0500
parents test/classdef/foo_payment.m@db6371b97fed
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/classdef/foo_value_class.m	Thu Jan 17 17:23:58 2013 -0500
@@ -0,0 +1,28 @@
+classdef foo_value_class
+  properties
+    rate;
+    term;
+    principle;
+  end
+  methods
+    function obj = foo_value_class (r, t, p)
+      if (nargin == 3)
+        obj.rate = r;
+        obj.term = t;
+        obj.principle = p;
+      elseif (nargin ~= 0)
+        error ('foo_value_class:SyntaxError', ...
+               'foo_value_class: Invalid syntax')
+      end
+    end
+    function amt = amount (obj)
+      i = obj.rate / (12 * 100);
+      if (i == 0 && obj.term == 0)
+        amt = obj.principle;
+      else
+        amt = (obj.principle * i) / (1 - (1 + i)^(-obj.term));
+      end
+    end
+  end
+end
+