@@ -8,6 +8,6 @@
<body>
<!-- <script src="./1.ts" type="module"></script> -->
<!-- <script src="./类型/1.js"></script> -->
- <script src="./面向对象/dist/5.接口.js"></script>
+ <script src="./面向对象/dist/6.属性的封装.js"></script>
</body>
</html>
@@ -1,7 +1,10 @@
"use strict";
(function () {
- // 类型别名 接口区别
- // 接口:定义数据类型的规范
+ /**
+ * 类型别名 接口区别
+ * 接口:偏向 对象/结构的定义 可扩展 可合并
+ * 类型别名:偏向于任意类型 联合/交叉类型 简单的别名
+ * */
// 类实现接口 需要继承
// 类型约束
class List {
@@ -13,6 +16,6 @@
this.x = x;
}
- let x = new List('图图', 3, '上海', '男', '12');
+ let x = new List('图图', 3, '上海', '12');
console.log(x);
})();
@@ -0,0 +1,26 @@
+"use strict";
+// 属性的封装:令属性更加安全
+(function () {
+ class Person {
+ constructor(name1, age1) {
+ this.name1 = name1;
+ this.age1 = age1;
+ }
+ * 属性封装:
+ * getter 获取属性 get
+ * setter 修改属性 set
+ */
+ get names() {
+ return this.name1;
+ set names(val) {
+ this.name1 = val;
+ let p = new Person('图图', 3);
+ console.log(p, 'p');
+ console.log(p.names);
+ p.names = '小新';
+ console.log(p.names, 'p');
+})();
@@ -0,0 +1,28 @@
+(function() {
+ private name1:string;
+ age1:number;
+ constructor(name1:string,age1:number) {
+ let p = new Person('图图',3);
+ console.log(p,'p')
+ console.log(p.names)
+ p.names = '小新'
+ console.log(p.names,'p')
+
+})()