test-class.nut 510 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. local A = class {
  2. a = null;
  3. b = null;
  4. static c = 99;
  5. static d = [];
  6. }
  7. local a = A();
  8. local b = A();
  9. a.a = 3;
  10. b.a = 5;
  11. b.d.push(44);
  12. a.d.push(55);
  13. a.c = 66;
  14. b.c = 77;
  15. print(a.a, a.c, b.a, b.c, a.d[0], b.d[1]);
  16. local B = class {
  17. static cfields = ["a", "b", "c", "d"];
  18. constructor(){
  19. foreach(k in cfields) this[k] = 0;
  20. }
  21. }
  22. foreach(k in B.cfields) B[k] <- null;
  23. local cb = B();
  24. foreach(k,v in B) print(k, cb[k]);
  25. local C = class extends B {
  26. cc = null;
  27. }
  28. local cc = C();
  29. cc.cc = 43;
  30. print(cc.cc);