TypeScript类和接口 | 青训营

65 阅读2分钟

类和对象

类是面向对象语言的一个重要概念,在TS中定义类的方法比JS多加了类型限制。类可以理解为对象的模型,定义好了类,然后使用类创造对象。

// 定义
class 类名 { 
    属性名: 类型; 
    constructor(参数: 类型){ 
        this.属性名 = 参数; 
        } 
    方法名(){ .... } 
    }

对象实质上就是属性和方法的容器,它的主要作用就是存储属性和方法,这就是所谓的封装,默认情况下,对象的属性是可以任意的修改的,为了确保数据的安全性,在TS中可以对属性的权限进行设置。

readonly:如果在声明属性时添加一个readonly,则属性便成了只读属性无法修改

public(默认值):可以在类、子类和对象中修改

class Person{ 
    public name: string; 
    public age: number; 
    constructor(name: string, age: number){ 
        this.name = name;// 可以在类中修改 
        this.age = age; 
        } 
    } 

protected :可以在类、子类中修改

class Person{ 
    protected name: string; 
    protected age: number; 
    constructor(name: string, age: number){ 
        this.name = name;// 可以修改 
        this.age = age; 
        } 
    } 

private :可以在类中修改。对于一些不希望被任意修改的属性,可以将其设置为private,导致无法再通过对象修改其中的属性。

class Person{ 
    private name: string; 
    private age: number; 
    constructor(name: string, age: number){ 
        this.name = name; // 可以修改 
        this.age = age; 
        } 
    } 

静态属性

静态属性(方法),使用static开头。使用静态属性无需创建实例,通过类即可直接使用。

class Girl{ 
    static gender = 1;
    } 

继承

通过继承可以将其他类中的属性和方法引入到当前类中,可以在不修改类的情况下完成对类的扩展。发生继承时,如果子类中的方法会替换掉父类中的同名方法,这就称为方法的重写

接口

接口用于定义对象的结构或类的形状,确保数据遵循特定的特点。接口的作用类似于类,不同点在于接口中的所有方法和属性都是没有实值的,接口主要负责定义一个类的结构,接口可以去限制一个对象的接口,对象只有包含接口中定义的所有属性和方法时才能匹配接口。同时,可以让一个类去实现接口,实现接口时类中要保护接口中的所有属性。

interface Person{ 
    name: string; 
    age:number;
    gender:boolen;
    A():void; 
    }

TypeScript能够帮助我们在编码过程中发现类型相关的问题,提高了代码的健壮性。面向对象编程让代码更结构化、可维护,并且提供了类、继承和多态等特性。接口和类型声明则用于确保代码的一致性,并在与其他库集成时提供更好的开发体验。这些特性共同使TypeScript成为开发中的强大工具。