在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
代码: // 本节内容 // 1.类的定义 // 2.类的继承 // 3.访问修饰符 // 4.静态属性和静态方法 // 5.抽象类和多态 // js // function Person(name) { // this.name = name; // this.print = function() { // console.log(this.name) // } // } // var p = new Person("aa") // p.print() // ts 1.类的定义 class Person { name:string; age:number; constructor(name:string, age:number){ this.name = name; this.age = age; } print() { return this.name + ":" + this.age } } var p = new Person("张三",20) console.log(p.print()) // 2.类的继承 class Student extends Person { cardnumber:string; school:string; constructor(cardnumber:string, school:string){ super("zhangsan", 19) this.cardnumber = cardnumber; this.school = school } dohomework(){ return this.name + "今年" + this.age + "岁,就读于" + this.school + "编号" + this.cardnumber } } // var stu1 = new Student("zhangsan",20) // stu1.cardnumber = "1001" // stu1.school = "北京大学" var stu1 = new Student("1001","北京大学") console.log(stu1.dohomework()) // 接口的继承 interface Printer { getmsg(); } interface ColorPrinter extends Printer { printing(); } class HPPrinter implements ColorPrinter { printing(){ console.log("打印成功") } getmsg(){ console.log("HP10011") } } var hp = new HPPrinter() hp.getmsg() hp.printing() // 3.访问修饰符 // public / private /protected class People { public name:string; private age:number; protected email:string; constructor(name:string,age:number,email:string){ this.name = name; this.age = age; this.email = email; } print(){ return this.name + ":" + this.age } } var p1 = new People("zhangsan",20,"[email protected]") console.log(p1.name) // console.log(p1.age) // console.log(p1.email) class Teacher extends People { show(){ console.log(this.name) // console.log(this.age) console.log(this.email) } } // 4.静态属性和静态方法 // function Boss() { // // 实例属性 // this.name = "zhangsan"; // // 实例方法 // this.print = function(){} // } // // 静态属性 // Boss.age = 19 // // 静态方法 // Boss.show = function() {} // // 调用静态方法 // Boss.show() // // 调用静态属性 // console.log(Boss.age) // // 调用实例方法和属性 // var boss = new Boss() // boss.print() // console.log(boss.name) // ts class Boss { // 实例属性 name:string; age:number; // 静态属性 static email:string; constructor(name:string,age:number,email:string){ this.name = name; this.age = age; Boss.email = email; } // 实例方法 print(){ return this.name + ":" + this.age } // 静态方法 static show(){ console.log("show 方法") } } // 调用静态方法 Boss.show() // 嗲用实例方法 var boss = new Boss("zhangsan",22,'[email protected]') console.log(boss.print()) // 注:不依赖于类的方法,可以为静态方法 // 5.多态(同一个父类,不同的子类,有不同的实现) class Animal { eat() { console.log("animal eat") } } class Cat extends Animal { eat() { console.log("猫吃鱼") } } class Dog extends Animal { eat() { console.log("狗吃肉") } } var c = new Cat() c.eat() var d = new Dog() d.eat() // 6.抽象类/抽象方法 // 6.1 抽象类是提供其他类继承的基类(父类),不能直接被实例 // 6.2 抽象方法只能包含在抽象类中,抽象类中可以包含抽象方法和非抽象方法 // 6.3 子类继承抽象类,实现抽象方法 // 定义抽象类 abstract class Beast { // 定义抽象方法(抽象方法没有具体的方法体) abstract eat(); run(){ console.log("run run run") } } class Tiger extends Beast { eat() { console.log("天王盖地虎") } } var t = new Tiger() t.eat() . |
请发表评论