让你彻底理解Typescript中静态成员和抽象方法

简介: 让你彻底理解Typescript中静态成员和抽象方法

1.Typescript中static详解


静态成员:在类中通过 static 修饰的属性或者方法


那么就是静态的属性静态方法


也称之为:静态成员(静态成员包含静态属性和静态方法)


静态成员在使用的时候通过【类名.静态属性】来访问


2.访问和修改static静态成员的小栗子


class Person{
    // 类中默认有一个内置name属性
    // 静态属性myname
    static myname:string='小可爱'
    sayHi() {
        console.log('sayHi')
    }
}
const per = new Person();
// 访问类中的静态属性
console.log(Person.myname);
// 修改类中的静态属性
Person.myname = '大可爱'
console.log(Person.myname);
//输出[大可爱]


3.抽象方法


抽象类中包含抽象方法:(抽象方法一般【没有任何具体内容】的实现)


抽象类中也可以包含实例方法


抽象类是不能够被实例化


抽象类可以让子类进行实例化以及实现内部所有的抽象方法


抽象类中也可以有抽象属性


{但是在实际开发过程中抽象类中一班不会有抽象属性}


我们知道了抽象类中可以包含:抽象属性  抽象方法  实例方法


ps:子类继承了抽象类,子类就必须实现抽象类中的抽象方法


4.写抽象类的注意点


abstract class Animals{
    // 这样写法是错误的,
    // 因为抽象方法一般没有任何具体内容的实现
    // abstract eat (){
    //     console.log('跑着吃,跳着吃')
    // }
    abstract eat()
}
// 这样的写法是错误的。
// 因为:抽象类不能够被实例化
// let dog=new Animals()


5.抽象类


abstract class Animals{
    // 这样写法是错误的,
    // 因为抽象方法一般没有任何具体内容的实现
    // abstract eat (){
    //     console.log('跑着吃,跳着吃')
    // }
    abstract eat()
    abstract sleep();
    // 抽象类中的抽象属性
    abstract myname: string
    // 抽象方法也可以包含实例方法
    say() {
        console.log('你好啊')
    }
}
// 子类继承了抽象类,子类就必须实现抽象类中的抽象方法
class Dog extends Animals {
    // 重新实现抽象类中的抽象方法
    eat() {
        console.log('我是狗,趴着吃')
    }
    // 重新实现抽象类中的抽象方法
    sleep() {
        console.log('我是狗,趴着睡')
    }
    // 实现抽象属性
    myname: string="狗子"
}
// 实例化
let xiaohei = new Dog();
// 直接调用方法
xiaohei.eat();//我是狗,趴着吃
// 调用的是抽象类中的实例方法
xiaohei.say();//你好啊
// 修改类中的属性
xiaohei.myname = '小黄狗'
console.log(xiaohei)
// 输出 Dog { myname: '小黄狗' }


相关文章
TypeScript-方法装饰器
TypeScript-方法装饰器
119 0
|
JavaScript 前端开发
TypeScript 定义同步方法
本文详细介绍了在TypeScript中定义同步方法的多种方式,包括使用类、接口、泛型和复杂的数据操作示例。通过理解这些方法,你可以在实际项目中有效地组织和管理你的代码,提高代码的可读性和维护性。
231 19
|
设计模式 JavaScript 安全
TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等
本文深入探讨了TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等,旨在帮助开发者在保证代码质量的同时,实现高效的性能优化,提升用户体验和项目稳定性。
457 6
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
344 6
|
JavaScript
TypeScript清空数组的4种方法
TypeScript清空数组的4种方法
1182 0
|
JavaScript
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
219 0
|
前端开发 JavaScript Android开发
TypeScript方法装饰器应用
TypeScript方法装饰器应用
210 0
|
8月前
|
JavaScript 前端开发
揭秘 TypeScript 条件类型:超越简单类型检查
揭秘 TypeScript 条件类型:超越简单类型检查
|
8月前
|
JavaScript 安全 索引
TypeScript 高级类型工具:Partial, Required, Record 的妙用与陷阱
TypeScript 高级类型工具:Partial, Required, Record 的妙用与陷阱
|
8月前
|
JavaScript 安全 IDE
TypeScript 类型体操:别让 `any` 毁了你的安全网!
TypeScript 类型体操:别让 `any` 毁了你的安全网!