Overload
Overload Functions
  1. classdef Num
  2. properties
  3. value
  4. end
  5. methods
  6. % Constructor
  7. function self = Num(n)
  8. self.value = n;
  9. end
  10. % Accessor
  11. function disp(self)
  12. fprintf('Num: %d\n', self.value);
  13. end
  14. % Overloadding
  15. function self = sqrt(self)
  16. self.value = 10*sqrt(self.value);
  17. end
  18. end
  19. end
  1. function numTest()
  2. % Create a Num Object
  3. n = Num(10);
  4. n = n.sqrt();
  5. n.disp();
  6. n = sqrt(n);
  7. n.disp();
  8. end
Overload Operators
  1. classdef Num
  2. properties
  3. value
  4. end
  5. methods
  6. % Constructor
  7. function self = Num(n)
  8. self.value = n;
  9. end
  10. % Accessor
  11. function disp(self)
  12. fprintf('Num: %d\n', self.value);
  13. end
  14. % Overloadding Operators
  15. % +
  16. function self = plus(self, right)
  17. self.value = self.value + right.value;
  18. end
  19. % <
  20. function l = lt(self, right)
  21. if self.value < right.value
  22. l = true;
  23. else
  24. l = false;
  25. end
  26. end
  27. end
  28. end
  1. function numTest()
  2. % Create a Num Object
  3. n = Num(10);
  4. n2 = Num(80);
  5. temp = n + n2;
  6. disp(temp);
  7. if n < n2
  8. fprintf('n < n2\n');
  9. end
  10. end