init_instance.gravity 464 B

123456789101112131415161718192021222324252627282930313233343536
  1. #unittest {
  2. name: "Test instance init.";
  3. error: NONE;
  4. result: 333;
  5. };
  6. // no init
  7. class c1 {
  8. var p1;
  9. func f1() {p1 = 3; return p1;}
  10. }
  11. // implicit init
  12. class c2 {
  13. var p1 = 10;
  14. var p2 = 20;
  15. func f1() {return p1+p2;}
  16. }
  17. // explicit init
  18. class c3 {
  19. var p1 = 33;
  20. var p2 = 44;
  21. func f1() {return p1+p2;}
  22. func init(n1,n2) {
  23. p1 = n1;
  24. p2 = n2;
  25. }
  26. }
  27. func main() {
  28. var x1 = c1();
  29. var x2 = c2();
  30. var x3 = c3(100,200);
  31. return x1.f1() + x2.f1() + x3.f1();
  32. }