TypeScript-类存取器 和 TypeScript-抽象类

简介: TypeScript-类存取器 和 TypeScript-抽象类

存取器概述


通过 getters/setters 来截取对对象成员的访问

class Person {
    private _age: number = 0;
    set age(val: number) {
        console.log('进入了set age方法');
        if (val < 0) {
            throw new Error('人的年龄不能小于零');
        }
        this._age = val;
    }
    get age(): number {
        console.log('进入了get age方法');
        return this._age;
    }
}
let p = new Person();
p.age = 18;
// 如下👇代码本质类同:p.age(-6);
// p.age = -6;
console.log(p.age);




抽象类概述


抽象类是专门用于定义那些不希望被外界直接创建的类的 抽象类一般用于定义基类 抽象类和接口一样用于约束子类

  • 首先来看看没有抽象类的实现写法,在 TypeScript-类方法修饰符 章节当中我已经编写过了,这里就不在编写了,就直接开始看抽象类即可

错误示例:

abstract class Person {
    abstract name: string;
    abstract say(): void;
}
class Student extends Person {
    name: string = 'BNTang';
    say(): void {
        console.log(`我的名字是${this.name}`);
    }
}
let p = new Person();

正确示例:

abstract class Person {
    abstract name: string;
    abstract say(): void;
}
class Student extends Person {
    name: string = 'BNTang';
    say(): void {
        console.log(`我的名字是${this.name}`);
    }
}
let stu = new Student();
stu.say();




抽象类和接口的区别


接口中只能定义约束, 不能定义具体实现 而抽象类中既可以定义约束, 又可以定义具体实现

abstract class Person {
    abstract name: string;
    abstract say(): void;
    eat(): void {
        console.log(`${this.name}正在吃东西`);
    }
}
class Student extends Person {
    name: string = 'BNTang';
    say(): void {
        console.log(`我的名字是${this.name}`);
    }
}
let stu = new Student();
stu.say();
stu.eat();

最后


本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关文章
|
10月前
|
JavaScript 前端开发 程序员
TypeScript 类
TypeScript 类
|
6月前
|
JavaScript 前端开发
Vue2整合TypeScript:借助vue-property-decorator以类模式编写组件
Vue2整合TypeScript:借助vue-property-decorator以类模式编写组件
332 3
|
7月前
|
JavaScript
typeScript进阶(13)_类与注意事项(八项特性)
TypeScript的类支持特性包括:构造函数、继承(使用`extends`)、公有/私有/受保护修饰符、只读修饰符、参数属性、存取器(getters/setters)、抽象类(用`abstract`声明)。类可用作类型。
59 0
typeScript进阶(13)_类与注意事项(八项特性)
|
9月前
|
JavaScript 前端开发
TypeScript(七)类
TypeScript(七)类
116 0
|
10月前
|
JavaScript
TypeScript类
TypeScript类
|
2月前
|
存储 安全 JavaScript
TypeScript-内置应用程序类型-Recode
通过使用 `Record` 类型,开发者可以显著提升代码的安全性和可维护性。无论是配置对象、字典结构还是动态表单,`Record` 类型都提供了一个简洁、类型安全的解决方案。
208 82
|
6月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
123 0
|
6月前
|
JavaScript 前端开发 开发者
深入理解TypeScript:类型系统与实用技巧
【10月更文挑战第8天】深入理解TypeScript:类型系统与实用技巧
|
5月前
|
设计模式 JavaScript 安全
TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等
本文深入探讨了TypeScript性能优化及代码质量提升的重要性、方法与策略,包括合理使用类型注解、减少类型断言、优化模块导入导出、遵循编码规范、加强代码注释等,旨在帮助开发者在保证代码质量的同时,实现高效的性能优化,提升用户体验和项目稳定性。
117 6
|
5月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
111 2
下一篇
oss创建bucket