7.属性的封装.js 835 B

123456789101112131415161718192021222324252627282930313233
  1. (function () {
  2. /**
  3. * readonly
  4. * static
  5. * private 私有的 只能使用类去进行获取修改
  6. * public 共有的
  7. * protected 受保护的 只能在当前类或者当前类的子类中访问
  8. */
  9. class Person {
  10. constructor(name, age) {
  11. this.name = name;
  12. this.age = age;
  13. }
  14. getName() {
  15. return console.log(this.name);
  16. }
  17. get name1() {
  18. return this.name;
  19. }
  20. set name1(val) {
  21. this.name = val;
  22. }
  23. }
  24. let p = new Person("蜡笔小新", 3);
  25. console.log(p, '修改前');
  26. // p.name = '图图';
  27. // console.log(p.name,'修改后')
  28. console.log(Person.name, '哈哈');
  29. p.getName();
  30. p.name1 = '图图';
  31. // p.age = 12;
  32. // console.log(p.name1,p.age)
  33. })();