Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TypeScript-类存取器 和 TypeScript-抽象类

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

原创
作者头像
杨不易呀
发布于 2023-09-28 11:19:13
发布于 2023-09-28 11:19:13
2440
举报
文章被收录于专栏:杨不易呀杨不易呀

存取器概述

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

代码语言:typescript
AI代码解释
复制
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-类方法修饰符 章节当中我已经编写过了,这里就不在编写了,就直接开始看抽象类即可

错误示例:

image-20211128225454524
image-20211128225454524
代码语言:typescript
AI代码解释
复制
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();

正确示例:

代码语言:typescript
AI代码解释
复制
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();

抽象类和接口的区别

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

image-20211128225324912
image-20211128225324912
代码语言:typescript
AI代码解释
复制
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();
end02
end02
输入图片说明
输入图片说明

最后

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

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

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

输入图片说明
输入图片说明

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TypeScript-类属性修饰符
TypeScript 的类属性修饰符是一种重要的语言特性,用于控制类成员的可访问性和行为。主要有三种修饰符:public、private 和 protected。
杨不易呀
2023/09/28
3920
TypeScript-类属性修饰符
TypeScript-类
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/28
2120
TypeScript-类
你应该知道的TypeScript高级概念
来源 | https://juejin.cn/post/6897779423858737166
winty
2020/12/07
5440
【Vue3+TypeScript】CRM系统项目搭建之 — 关于拥抱 TypeScript 这件事【上】
string 、 number 、 boolean 、 null 、 undefined 、 bigint 、 symbol 、 object
HelloWorldZ
2024/03/20
2690
【Vue3+TypeScript】CRM系统项目搭建之 — 关于拥抱 TypeScript 这件事【上】
TypeScript-类和接口
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/28
2530
【Java】抽象类与接口全解析
在Java面向对象编程中,抽象类和接口是两个非常重要的概念,它们为代码的抽象化、模块化和可扩展性提供了强大的支持。无论是开发大型企业级应用,还是小型程序,掌握抽象类和接口的使用都至关重要。本文将通过详细的理论讲解、丰富的代码示例、直观的图片以及对比表格,帮助你深入理解Java抽象类和接口的本质与应用。
User_芊芊君子
2025/07/08
950
【Java】抽象类与接口全解析
typeScript的基础认识
世间万物皆对象
2024/03/20
1450
攀爬TS之路(七) 类与接口
先提一嘴,JS中的类有私有属性,在属性名之前使用#表示。私有属性只能在类的内部使用。
赤蓝紫
2023/03/16
3960
攀爬TS之路(七)    类与接口
typescript基础篇(5):类
ts的类基本包括了es6+中类的全部功能。假如我要声明一条“狗”类,在ts中实现一个类是这样的:
一粒小麦
2020/08/12
6840
typescript基础篇(5):类
typescript 多继承_说明类的继承和多态有什么作用
对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来的。 从 ECMAScript 2015,也就是 ES6 开始, JavaScript 程序员将能够使用基于类的面向对象的方式。 使用 TypeScript,我们允许开发者现在就使用这些特性,并且编译后的 JavaScript 可以在所有主流浏览器和平台上运行,而不需要等到下个 JavaScript 版本。
全栈程序员站长
2022/09/16
1.3K0
typescript 多继承_说明类的继承和多态有什么作用
【一起来烧脑】一步学会TypeScript入门
字符串新特性 变量和参数新特性 函数新特性 匿名函数 for of循环 TypeScript语言中的面向对象特性
达达前端
2019/07/18
4910
【一起来烧脑】一步学会TypeScript入门
TypeScript学习第五篇 - 静态属性、静态方法、多态、抽象类
在TypeScript里通过 static 关键字来修饰静态属性与静态方法。静态属性与静态方法不需要实例化就可以访问,访问时直接通过类名来调用,静态方法不能访问当前类里的属性,只能访问当前类里的静态属性。
越陌度阡
2020/11/26
3.7K0
typescript笔记2 函数 类 接口
es5中方法实参和形参可以不一样,但是ts中必须一样,如需不一样可配置为可选参数 注:可选参数必须配置在最后面
路过君
2022/04/13
1.1K1
【Java 学习】:抽象类&接口
💢💢在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用给出具体的实现体。
IsLand1314
2024/10/15
2070
【Java 学习】:抽象类&接口
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
博主假设有这么一个需求: 有一个基类, 所有的子类都需要继承于这个基类, 但是我们不希望别人能够通过基类来创建对象:
杨不易呀
2023/09/28
4020
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
【万字长文】TypeScript入门指南
本文主要讲述叶秋学长通过一个月对TypeScript的学习整理出一份完整的入门指南,希望对正在学习前端的小伙伴有所帮助~
叶秋学长
2023/12/07
9790
【万字长文】TypeScript入门指南
【Java SE】抽象类和接口
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
xxxflower
2023/04/16
3090
【Java SE】抽象类和接口
【愚公系列】2021年12月 Typescript-类的使用(封装,继承,多态)
ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。
愚公搬代码
2022/12/01
6000
【愚公系列】2021年12月 Typescript-接口的使用
接口的作用:在面向对象OOP的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。
愚公搬代码
2022/12/01
5340
typescript中的class和interface
刚刚的vue3.0一发布,各大网址和社区以及公众号已经被Vue3.0的One Piece版本所霸屏,出现不同的标题有着同样内容的现象,借此热度我们不如好好回顾一下ts基础知识,备战vue3.0的正式使用。
小丑同学
2020/09/27
2K0
typescript中的class和interface
相关推荐
TypeScript-类属性修饰符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档