zheng 1 주 전
부모
커밋
f70a4b04d8
5개의 변경된 파일91개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      19.ts/index.html
  2. 11 1
      19.ts/面向对象/dist/1.类.js
  3. 15 0
      19.ts/面向对象/dist/2.构造函数和this.js
  4. 31 0
      19.ts/面向对象/dist/3.继承.js
  5. 33 0
      19.ts/面向对象/src/3.继承.ts

+ 1 - 1
19.ts/index.html

@@ -8,6 +8,6 @@
 <body>
     <!-- <script src="./1.ts" type="module"></script> -->
      <!-- <script src="./类型/1.js"></script> -->
-      <script src="./面向对象/dist/1.类.js"></script>
+      <script src="./面向对象/dist/3.继承.js"></script>
 </body>
 </html>

+ 11 - 1
19.ts/面向对象/dist/1.类.js

@@ -3,15 +3,25 @@
  * 通过class定义一个类
  */
 class Person {
+    constructor() {
+        this.name1 = '图图';
+        /**
+         * static 静态属性
+         * 属性添加static后 变成了 类
+         * 只能通过类 去更改
+         * 规避name字段
+         * readonly 只读
+         */
+    }
     say() {
         console.log("你好");
     }
 }
-Person.name1 = '图图';
 Person.age = 3;
 // 实例化
 let p1 = new Person();
 // p1.age = 12;
+// p1.name1 = 'aaa';
 console.log(p1, 'p1');
 Person.age = 12;
 console.log(Person.age);

+ 15 - 0
19.ts/面向对象/dist/2.构造函数和this.js

@@ -0,0 +1,15 @@
+"use strict";
+// let xxx = function() {}
+// function fn1() {}
+// (function(){})()
+// function fn2(() => {})
+// function Fn1() {
+// }
+// new Fn1()
+class Person1 {
+    constructor(x, y) {
+        this.name2 = x;
+        this.age2 = y;
+    }
+}
+let p2 = new Person1('图图', 3);

+ 31 - 0
19.ts/面向对象/dist/3.继承.js

@@ -0,0 +1,31 @@
+"use strict";
+(function () {
+    class Parent {
+        constructor(x, y) {
+            this.names = x;
+            this.ages = y;
+        }
+        hi() {
+            console.log("你好啊");
+        }
+    }
+    class A extends Parent {
+        hi() {
+            console.log("大家好");
+        }
+        aa() {
+            console.log("哈哈");
+        }
+    }
+    /**
+     * 继承
+     * 因为想让多个子类 同时拥有父类的属性和方法 所以采用继承
+     * 继承后子类就会拥有父类相同的内容
+     * 若子类中定义的方法 与父类相同 则会覆盖父类的方法 称为:方法重新
+     */
+    // let parent1 = new Parent("图图",1)
+    let a = new A("喜羊羊", 3);
+    console.log(a, 'a');
+    a.hi();
+    a.aa();
+})();

+ 33 - 0
19.ts/面向对象/src/3.继承.ts

@@ -0,0 +1,33 @@
+(function() {
+    class Parent {
+        names:string;
+        ages:number;
+        constructor(x:string,y:number) {
+            this.names = x;
+            this.ages = y;
+        }
+        hi() {
+            console.log("你好啊");
+        }
+    }
+    class A extends Parent{
+        hi() {
+            console.log("大家好")
+        }
+        aa() {
+            console.log("哈哈")
+        }
+    }
+    /**
+     * 继承
+     * 因为想让多个子类 同时拥有父类的属性和方法 所以采用继承
+     * 继承后子类就会拥有父类相同的内容
+     * 若子类中定义的方法 与父类相同 则会覆盖父类的方法 称为:方法重新
+     * 若想添加新的方法 自行添加即可
+     */
+    // let parent1 = new Parent("图图",1)
+    let a =  new A("喜羊羊",3);
+    console.log(a,'a');
+    a.hi();
+    a.aa();
+})()