让你彻底理解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-方法装饰器
55 0
|
20天前
|
JavaScript 前端开发
TypeScript 定义同步方法
本文详细介绍了在TypeScript中定义同步方法的多种方式,包括使用类、接口、泛型和复杂的数据操作示例。通过理解这些方法,你可以在实际项目中有效地组织和管理你的代码,提高代码的可读性和维护性。
42 19
|
4月前
|
设计模式 JavaScript 安全
TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等
本文深入探讨了TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等,旨在帮助开发者在保证代码质量的同时,实现高效的性能优化,提升用户体验和项目稳定性。
91 6
|
4月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
94 6
|
JavaScript
TypeScript清空数组的4种方法
TypeScript清空数组的4种方法
804 0
|
JavaScript
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
85 0
|
前端开发 JavaScript Android开发
TypeScript方法装饰器应用
TypeScript方法装饰器应用
154 0
|
1月前
|
存储 安全 JavaScript
TypeScript-内置应用程序类型-Recode
通过使用 `Record` 类型,开发者可以显著提升代码的安全性和可维护性。无论是配置对象、字典结构还是动态表单,`Record` 类型都提供了一个简洁、类型安全的解决方案。
195 82
|
5月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
108 0
|
5月前
|
JavaScript 前端开发 开发者
深入理解TypeScript:类型系统与实用技巧
【10月更文挑战第8天】深入理解TypeScript:类型系统与实用技巧