10
0

7.属性的封装.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. (function () {
  2. /***
  3. * 只读 readonly
  4. * 类 static
  5. * 私有的 private:
  6. * 只能在当前类中访问和修改
  7. * 若是想要修改 则需要在类里进行定义方法
  8. * 共有的 public
  9. * 受保护的 protected
  10. * 只能在当前类及当前类的子类中访问及使用
  11. */
  12. class Person {
  13. constructor(name, age) {
  14. this.name = name;
  15. this.age = age;
  16. }
  17. /***
  18. * 在属性的封装中
  19. * 修改数据 通过setter => set
  20. * 获取数据 通过getter => get
  21. */
  22. // name = '啧啧啧'
  23. // getName() {
  24. // return this.name;
  25. // }
  26. // setName(a) {
  27. // this.name = a;
  28. // }
  29. get name1() {
  30. return this.name;
  31. }
  32. set name1(b) {
  33. this.name = b;
  34. }
  35. }
  36. let p1 = new Person('哪吒', 7);
  37. // p1.name = '猪八戒';
  38. console.log(p1.name1);
  39. p1.name1 = '唐僧';
  40. console.log(p1.name1);
  41. // console.log(p1.name);
  42. // console.log(p1.setName("猪八戒"))
  43. // console.log(p1.getName())
  44. })();