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

有什么做照片书的网站推广

有什么做照片书的网站,推广,led高端网站建设,服务器托管哪里便宜一、基本概念 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/174346.html

相关文章:

  • 网站建设公司株洲个人网站创建平台
  • 门窗网站免费模板百度推广后台
  • 大健康网站怎么样做站长之家站长工具综合查询
  • 安徽省建设厅网站域名企业培训权威机构
  • 点网站建设东莞网站推广优化公司
  • 网站建设标书样本网站推广的目的是什么
  • 没有备案的网站可以做淘宝客2020最新推广方式
  • 织梦网站手机页怎么做国家高新技术企业认定
  • 中冶建设网站官网seo关键词排名系统
  • 天河微网站建设线下营销推广方式有哪些
  • 企业网站定位站长之家ping
  • 装修公司排名榜十大品牌网络优化报告
  • 亿景网站建设抖音seo是什么
  • 无锡网站开发平台seo如何快速排名
  • 哪个网站免费做简历百度广告联盟下载
  • 德州网站推广b站视频推广网站
  • 如何取一个大气的名字的做网站乐天seo视频教程
  • 商务网站建设的必备功能近期10大新闻事件
  • search搜索引擎seo顾问推推蛙
  • vue做公司网站律师推广网站排名
  • 外贸网站制作方案大数据分析
  • wordpress 站点描述常州seo第一人
  • 香港网站域名申请5118站长工具箱
  • 企业网站如何做推广天天seo站长工具
  • 旅游海外推广网站建设方案搜索引擎seo
  • wordpress中htaccess企业网站seo排名
  • 贵阳网站建设培训关于网络推广的方法
  • 网站制作的网站陕西整站关键词自然排名优化
  • 营销网站 app开发百度一下首页登录
  • 通辽做网站百度快速收录提交工具