当前位置: 首页 > wzjs >正文

有什么做照片书的网站站长统计官方网站

有什么做照片书的网站,站长统计官方网站,做网站电商云数据库有用吗,男做基视频网站一、基本概念 TypeScript 类是基于 ES6 类的语法扩展,增加了类型注解和访问修饰符等特性,提供了更强大的面向对象编程能力。 二、基本语法 class Person {name: string;age: number;constructor(name: string, age: number) {this.name name;this.ag…

一、基本概念

TypeScript 类是基于 ES6 类的语法扩展,增加了类型注解和访问修饰符等特性,提供了更强大的面向对象编程能力。

二、基本语法

class Person {name: string;age: number;constructor(name: string, age: number) {this.name = name;this.age = age;}greet() {return `Hello, my name is ${this.name}`;}
}

三、类的主要特性

1. 访问修饰符

  • public (默认):成员在任何地方都可访问

  • private:只能在类内部访问

  • protected:可在类及其子类中访问

class Animal {public name: string;private secret: string;protected age: number;
}

2. 只读属性

class Person {readonly birthDate: Date;
}

3. 参数属性

简化属性声明和赋值的语法:

class Person {constructor(public name: string, private age: number) {}// 等同于声明name和age并在构造函数中赋值
}

4. 存取器 (getters/setters)

class Employee {private _salary: number;get salary(): number {return this._salary;}set salary(newSalary: number) {if (newSalary >= 0) {this._salary = newSalary;}}
}

5. 静态成员

class Grid {static origin = { x: 0, y: 0 };static calculateDistance(point: {x: number, y: number}) {// ...}
}

6. 抽象类

abstract class Animal {abstract makeSound(): void; // 必须在派生类中实现move(): void {console.log("moving...");}
}

7. 类与接口

类可以实现接口:

interface ClockInterface {currentTime: Date;setTime(d: Date): void;
}class Clock implements ClockInterface {currentTime: Date = new Date();setTime(d: Date) {this.currentTime = d;}
}

四、继承

class Animal {move(distance: number = 0) {console.log(`Moved ${distance}m`);}
}class Dog extends Animal {bark() {console.log("Woof! Woof!");}
}

五、方法重写

class Animal {move(distance: number = 0) {console.log(`Moved ${distance}m`);}
}class Snake extends Animal {move(distance: number = 5) {console.log("Slithering...");super.move(distance);}
}

六、高级特性

1. 类类型

类既可以作为值使用,也可以作为类型使用:

class Greeter {greeting: string;constructor(message: string) {this.greeting = message;}
}let greeter: Greeter = new Greeter("world");

2. 构造函数类型

class Point {x: number;y: number;
}let PointConstructor: typeof Point = Point;
let point: Point = new PointConstructor();

3. 装饰器 (实验性特性)

@sealed
class Greeter {greeting: string;constructor(message: string) {this.greeting = message;}@enumerable(false)greet() {return "Hello, " + this.greeting;}
}

七、与ES6类的区别

  1. TypeScript类有类型注解

  2. 支持访问修饰符(public/private/protected)

  3. 支持抽象类和抽象方法

  4. 支持参数属性

  5. 支持接口实现检查

八、最佳实践

  1. 优先使用private/protected限制成员访问

  2. 考虑使用抽象类定义通用行为

  3. 合理使用接口来定义类的公共契约

  4. 对于简单的数据对象,考虑使用接口而不是类

TypeScript的类提供了强大的面向对象编程能力,同时保持了JavaScript的灵活性,是构建大型应用的理想选择。

http://www.dtcms.com/wzjs/323363.html

相关文章:

  • 如何在网盘上做网站外贸网络营销
  • 网站动效seo的优化技巧有哪些
  • 怎样做收费网站山东今日热搜
  • 织梦网站防止注入哪里有软件培训班
  • 建设企业网站就等于开展网络营销吗成都最新疫情
  • 做风筝网站吉林刷关键词排名优化软件
  • 环保类网站模板免费下载营销技巧和营销方法心得
  • 受欢迎的邯郸网站建设app开发用什么软件
  • 网站开发的技术类型有哪些百度广告推广价格
  • 网站建设款分录my77728域名查询
  • 400电话网站源码国外常用的seo站长工具
  • 优化网站被百度屏百度快照客服电话
  • 网站备案号 主体备案号百度搜索数据查询
  • 福州网络公司网站成都搜索优化排名公司
  • 本地网站建设的步骤过程企业邮箱网页版
  • 东莞哪些网络公司做网站比较好网络推广团队
  • 建一个小型的购物网站服务器一年要多少钱seo整站优化哪家好
  • 中英文版网站建设seo交流
  • 绍兴文理学院教务管理系统入口网站关键词seo费用
  • 网站权重分散公司网站建设需要注意什么
  • 单位网站 单位网页 区别吗免备案域名
  • 如何做彩票网站信息互联网广告行业
  • 公司注册后每年的费用aso应用商店优化原因
  • 医院做网站的好处什么叫营销
  • 广州高端品牌网站建设哪家公司好深圳网络推广哪家好
  • 瀑布流wordpress廊坊推广seo霸屏
  • 注册域名之后怎么做网站衡阳有实力seo优化
  • 做网页网站需要钱吗网络营销策划名词解释
  • 如何推荐别人做网站江西百度推广开户多少钱
  • 中国建设银行网站打不开平台推广广告宣传词