e 4 meses atrás
pai
commit
8add950a17

+ 37 - 0
14.ts/4.面向对象/dist/3.继承.js

@@ -0,0 +1,37 @@
+// function fn1() {
+// }
+// fn1();
+// 立即执行函数 可以进入页面 开始执行 可以保证作用域 名字的唯一性
+// (function() {})()
+(function () {
+    class Money {
+        constructor(name, num) {
+            this.name = name;
+            this.num = num;
+        }
+        show() {
+            console.log(`我是${this.name},我有${this.num}万`);
+        }
+    }
+    /**
+     * 继承:
+     * 因为想让多个子类同时拥有父类的属性和方法 所以采用继承
+     * 继承后 子类会拥有和父类相同的内容
+     * 若子类中 定义的方法与父类相同 则会覆盖父类的方法 称为:方法重写
+     * 若想添加新的方法 直接添加即可
+     *
+     */
+    class A extends Money {
+        show() {
+            console.log("我继承到了");
+        }
+        say() {
+            console.log("你好啊");
+        }
+    }
+    let aa = new A('小红', 200);
+    console.log(aa, 'aa');
+    aa.show();
+    aa.say();
+})();
+// extends

+ 24 - 0
14.ts/4.面向对象/dist/4.super.js

@@ -0,0 +1,24 @@
+(function () {
+    class Animal {
+        constructor(name) {
+            this.name = name;
+        }
+        say() {
+            console.log(`我是一只${this.name}`);
+        }
+    }
+    /**
+     * super 调用父类中要继承的属性
+     * 若子类要添加新的属性
+     * 子类的构造器要对弗雷德构造函数进行重写
+     */
+    class Cat extends Animal {
+        constructor(name, age) {
+            super(name);
+            this.age = age;
+        }
+    }
+    let cat1 = new Cat('小猫', 3);
+    console.log(cat1);
+    cat1.say();
+})();

+ 1 - 1
14.ts/4.面向对象/index.html

@@ -6,6 +6,6 @@
     <title>Document</title>
 </head>
 <body>
-    <script src="./dist/2.构造函数和this.js"></script>
+    <script src="./dist/4.super.js"></script>
 </body>
 </html>

+ 41 - 0
14.ts/4.面向对象/src/3.继承.ts

@@ -0,0 +1,41 @@
+// function fn1() {
+// }
+// fn1();
+// 立即执行函数 可以进入页面 开始执行 可以保证作用域 名字的唯一性
+// (function() {})()
+
+
+(function(){
+    class Money{
+        name:string;
+        num: number;
+        constructor(name:string,num:number) {
+            this.name = name;
+            this.num = num;
+        }
+        show(){
+            console.log(`我是${this.name},我有${this.num}万`);
+        }
+    }
+    /**
+     * 继承:
+     * 因为想让多个子类同时拥有父类的属性和方法 所以采用继承
+     * 继承后 子类会拥有和父类相同的内容
+     * 若子类中 定义的方法与父类相同 则会覆盖父类的方法 称为:方法重写
+     * 若想添加新的方法 直接添加即可
+     * 
+     */
+    class A extends Money{
+        show() {
+            console.log("我继承到了")
+        }
+        say() {
+            console.log("你好啊")
+        }
+    }
+    let aa = new A('小红',200);
+    console.log(aa,'aa')
+    aa.show();
+    aa.say();
+})()
+// extends

+ 26 - 0
14.ts/4.面向对象/src/4.super.ts

@@ -0,0 +1,26 @@
+(function() {
+    class Animal {
+        name:string;
+        constructor(name:string) {
+            this.name = name;
+        }
+        say() {
+            console.log(`我是一只${this.name}`);
+        }
+    }
+    /**
+     * super 调用父类中要继承的属性
+     * 若子类要添加新的属性
+     * 子类的构造器要对弗雷德构造函数进行重写
+     */
+    class Cat extends Animal {
+        age:number;
+        constructor(name:string,age:number) {
+            super(name)
+            this.age = age
+        }
+    }
+    let cat1 = new Cat('小猫',3)
+    console.log(cat1);
+    cat1.say();
+})()