TypeScript 类

一、类

1、注意

构造函数、实例化对象(new)

2、案例

class Person{
    name:string
    age:number
    // 构造方法
    constructor(name:string, age:number){
        this.name = name
        this.age = age
    }
    // 方法
    introduce(){
        console.log(this.name+"----"+this.age);
    }
}

let p1 = new Person('jojo', 20)
console.log(p1.name);
p1.introduce()

二、继承

1、注意

继承(extend)、super()、方法重写(override)

2、案例

class Person{
    name:string
    age:number
    // 构造方法
    constructor(name:string, age:number){
        this.name = name
        this.age = age
    }
    // 方法
    introduce(){
        console.log(this.name+"----"+this.age);
    }
}

let p1 = new Person('jojo', 20)
console.log(p1.name);
p1.introduce()

class Student extends Person{
    grade:string
    // 构造方法
    constructor(name:string, age:number, grade:string){
        // 继承
        super(name, age)
        this.grade = grade
    }
    override introduce(): void {
        console.log(`${this.name}==${this.age}==${this.grade}`);
    }

    showGrade(){
        console.log(this.grade);
        
    }
}

let s1 = new Student('kk', 8, '五年级')
s1.introduce()
s1.showGrade()

三、修饰符

1、特点

public 可以内部使用,可以继承,可以外部使用

protected 可以内部使用,可以继承,不能外部使用

private 只能内部使用,不能继承,不能外部使用

2、使用修饰符 可以简写

3、案例

class Person{
    // 简写
    constructor(public name:string, public age:number){}
    // 内部可以使用,可以被继承,不能在外部使用
    protected introduce(){
        console.log(this.name+","+this.age);
    }
}

let p1 = new Person("jojo", 9527)
console.log(p1.age);
// p1.introduce()

class Student extends Person{
    // 简写构造函数
    constructor(public name:string, public age:number, public score:number){
        super(name, age)
    }
    
    showScore(){
        console.log(this.score);
        this.introduce()
        this.win()
    }
    // 只能在内部使用,不能继承,不能在外部使用
    private win(){
        console.log("好想休息,好累");
        
    }
}

let s1 = new Student("fake", 9857, 0)
console.log(s1.name);
s1.showScore()    

 

posted @ 2025-03-20 18:45  市丸银  阅读(5)  评论(0)    收藏  举报