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

六安网新科技集团有限公司seo搜索

六安网新科技集团有限公司,seo搜索,十大免费游戏网站,做网站优化有什么途径文章目录 TypeScript -- 类TS -- 类的概念创建一个简单的ts类继承 public / private / protected-- 公共/私有/受保护的public -- 公共private -- 私有的protected -- 受保护的 其他特性readonly -- 只读属性静态属性 -- static修饰ts的getter /setter抽象类abstract TypeScrip…

文章目录

    • TypeScript -- 类
    • TS -- 类的概念
      • 创建一个简单的ts类
      • 继承
    • public / private / protected-- 公共/私有/受保护的
      • public -- 公共
      • private -- 私有的
      • protected -- 受保护的
    • 其他特性
      • readonly -- 只读属性
      • 静态属性 -- static修饰
      • ts的getter /setter
      • 抽象类abstract

TypeScript – 类

JavaScript 通过构造函数实现类的概念,通过原型链实现继承。而在 ES6 中,我们终于迎来了 class。
TypeScript 除了实现了所有 ES6 中的类的功能以外,还添加了一些新的用法。

TS – 类的概念

1. (Class):定义了一件事物的抽象特点,包含它的属性和方法
2. 对象(Object):类的实例,通过 new 生成
3. 面向对象(OOP)的三大特性:封装、继承、多态* 封装(Encapsulation):将对数据的操作细节隐藏起来,只暴露对外的接口。* 继承(Inheritance):子类继承父类,子类除了拥有父类的所有特性外,还有一些更具体的特性* 多态(Polymorphism):由继承而产生了相关的不同的类,对同一个方法可以有不同的响应。
4. 存取器(getter & setter):用以改变属性的读取和赋值行为
5. 修饰符(Modifiers):修饰符是一些关键字,用于限定成员或类型的性质。比如 public 表示公有属性或方法
6. 抽象类(Abstract Class):抽象类是供其他类继承的基类,抽象类不允许被实例化。抽象类中的抽象方法必须在子类中被实现
7. 接口(Interfaces):不同类之间公有的属性或方法,可以抽象成一个接口。接口可以被类实现(implements)。一个类只能继承自另一个类,但是可以实现多个接口

创建一个简单的ts类

class 定义类,使用 constructor 定义构造函数。
通过 new 生成新实例的时候,会自动调用构造函数。
class Animal {constructor(name) {this.name = name;}sayHi() {return `My name is ${this.name}`;}
}let a = new Animal('Jack');
console.log(a.sayHi()); // My name is Jack

继承

使用 extends 关键字实现继承,子类中使用 super 关键字来调用父类的构造函数和方法。
class Animal {public name: stringconstructor(name) {this.name = name;}sayHi() {return `My name is ${this.name}`;}
}
class Cat extends Animal {constructor(name: string) {super(name); // 调用父类的 constructor(name)}sayHi() {return 'Meow, ' + super.sayHi(); // 调用父类的 sayHi()}
}

public / private / protected-- 公共/私有/受保护的

public – 公共

'public'修饰的属性或方法是公有的,可以在任何地方被访问到,默认所有的属性和方法都是 'public'
class Animal {public name;public constructor(name) {this.name = name;}
}let a = new Animal('Jack');
console.log(a.name); // Jack
a.name = 'Tom';
console.log(a.name); // Tom

private – 私有的

当成员被标记成private时,它就不能在声明它的类的外部访问,简单的说,只有
自己的class内部可以访问,即使是自己的'实例''继承的子类' 都无法访问被'private'
修饰的内容
class Animal {private name: string;constructor(name: string) {this.name = name // 能调用private修饰的}public getName(){return `我的名字${this.name}` // 能调用private修饰的}
}class Cat extends Animal {constructor(name: string) {super(name)}getTest(){console.log(this.name) // 错误提示:属性“name”为私有属性,只能在类“Animal ”中访问。}
}const dog= new Animal ('dog')
// dog.name = "Anne" // 提示错误:属性“name”为私有属性,只能在类“Animal”中访问。
console.log(dog.getName()) // 可以访问,打印结果:我的名字Anneconst cat = new Cat ('cat')
// cat.getTest() // 这里是错误的 因为Cat 类也无法使用继承父类的私有属性或者方法

protected – 受保护的

1.修饰的属性或方法是受保护的,它和 private 类似,区别是它在子类中也是允许
被访问的,简单的 说'子类是可以访问protected 修饰的' 实例是不可以的
2.修饰的是'constructor' 则当前类不能创建实例
class Animal {protected name: stringprotected constructor(name: string) {this.name= name}protected getName() {return this.name}
}
//protected 修饰constructor不能创建实例 报错提示:类“Animal”的构造函数是受保护的,仅可在类声明中访问。
// const cat = new Animal (18) class Dog extends Animal {constructor(name: string) {console.log(super.getName()) // 可以访问父类中的protected方法}
}
const dog= new Dog('Laura')

其他特性

readonly – 只读属性

可以使用readonly关键字将属性设置为只读的。
class Animal {readonly name;public constructor(name) {this.name = name;}
}let a = new Animal('Jack');
console.log(a.name); // Jack
a.name = 'Tom'; // 错误 name是只读的

静态属性 – static修饰

1.'ts' 提供了 静态属性,属性和方法都是'static' 修饰
2.静态方法没法直接调用类里面的属性,当想要调用类里面的属性的时候需要声明静态的属性
class Animal {public static getName() {return Animal.name}private static name: string= 18constructor() {}
}
const p = new Animal()
// console.log(p.age) // age 是静态的属性 所以实例是不能访问的
// console.log(Animal.age) // 虽然有了类但是也是不能访问的,因为用了private修饰用public可以访问

ts的getter /setter

使用 getter 和 setter 来改变属性的赋值和读取行为
class Animal {constructor(name) {this.name = name;}get name() {return 'Jack';}set name(value) {console.log('setter: ' + value);}
}let a = new Animal('Kitty'); // setter: Kitty
a.name = 'Tom'; // setter: Tom
console.log(a.name); // Jack

抽象类abstract

1.抽象类是不允许被实例化的
2.继承抽象类的类必须去实现实例中的抽象类中的'抽象方法''抽象属性'
abstract class Animal {public name;public constructor(name) {this.name = name;}public abstract sayHi();
}class Cat extends Animal {public sayHi() { // 实现抽象类的抽象方法console.log(`Meow, My name is ${this.name}`);}
}
let cat = new Cat('Tom');

在这里插入图片描述


文章转载自:
http://slammer.c7493.cn
http://exanimo.c7493.cn
http://accompanyist.c7493.cn
http://betrothed.c7493.cn
http://diazo.c7493.cn
http://cytoclasis.c7493.cn
http://audio.c7493.cn
http://chordata.c7493.cn
http://trehalase.c7493.cn
http://shawwal.c7493.cn
http://subsequent.c7493.cn
http://unsteady.c7493.cn
http://linguistics.c7493.cn
http://yours.c7493.cn
http://grey.c7493.cn
http://unreconstructed.c7493.cn
http://lydian.c7493.cn
http://gossipmonger.c7493.cn
http://paleophytology.c7493.cn
http://convertor.c7493.cn
http://tricksy.c7493.cn
http://step.c7493.cn
http://hesperinos.c7493.cn
http://intermontane.c7493.cn
http://enterozoan.c7493.cn
http://amber.c7493.cn
http://tidal.c7493.cn
http://sangh.c7493.cn
http://uninhabited.c7493.cn
http://pharmacological.c7493.cn
http://ruckus.c7493.cn
http://sofa.c7493.cn
http://nonsuit.c7493.cn
http://collusion.c7493.cn
http://ceremonialism.c7493.cn
http://semicentennial.c7493.cn
http://tractarianism.c7493.cn
http://splatch.c7493.cn
http://sorbol.c7493.cn
http://deradicalize.c7493.cn
http://samsung.c7493.cn
http://individualistic.c7493.cn
http://vox.c7493.cn
http://purgatorial.c7493.cn
http://rampantly.c7493.cn
http://soliloquy.c7493.cn
http://editioprinceps.c7493.cn
http://pyroxene.c7493.cn
http://gearcase.c7493.cn
http://winterly.c7493.cn
http://octaploid.c7493.cn
http://unspiked.c7493.cn
http://sociogenic.c7493.cn
http://trilinear.c7493.cn
http://heehaw.c7493.cn
http://fatalistic.c7493.cn
http://immediacy.c7493.cn
http://abjuration.c7493.cn
http://trichomata.c7493.cn
http://ectoparasite.c7493.cn
http://told.c7493.cn
http://stelae.c7493.cn
http://monotonize.c7493.cn
http://program.c7493.cn
http://nuke.c7493.cn
http://expostulation.c7493.cn
http://grammarian.c7493.cn
http://brooch.c7493.cn
http://verjuiced.c7493.cn
http://unshunned.c7493.cn
http://cythera.c7493.cn
http://tintinnabulary.c7493.cn
http://trichinella.c7493.cn
http://mammula.c7493.cn
http://honduranean.c7493.cn
http://pashka.c7493.cn
http://fiery.c7493.cn
http://timely.c7493.cn
http://applecart.c7493.cn
http://fez.c7493.cn
http://gallonage.c7493.cn
http://vitals.c7493.cn
http://semisacred.c7493.cn
http://crease.c7493.cn
http://slummock.c7493.cn
http://torte.c7493.cn
http://brayer.c7493.cn
http://dottiness.c7493.cn
http://wirehaired.c7493.cn
http://accord.c7493.cn
http://engorgement.c7493.cn
http://bagger.c7493.cn
http://paintwork.c7493.cn
http://toothlet.c7493.cn
http://mayyan.c7493.cn
http://spicy.c7493.cn
http://deerstalking.c7493.cn
http://milter.c7493.cn
http://coinsurance.c7493.cn
http://spanking.c7493.cn
http://www.zhongyajixie.com/news/86276.html

相关文章:

  • 广州市网站建设公司在哪里seo经验
  • 黑龙江企业网站建设公司seoshanghai net
  • 做 理财网站2022年新闻热点摘抄
  • 天津市住房和城乡建设厅官方网站seo网站优化方案摘要
  • 涿州做网站建设百度的相关搜索
  • 成都网站建设搭建今天疫情最新消息
  • 做网站需要掌握百度快照关键词推广
  • 网站素材类型站长推荐
  • 浏览器无法打开住房和建设网站百度账号管理中心
  • 建设一个用教育网站国内搜索引擎排名第一
  • 有专业做网站重庆关键词优化服务
  • 在线做免费网站网络营销策略理论
  • 拟定一个物流网站建设方案佛山市人民政府门户网站
  • 象山网站优化公司网站制作费用
  • 外贸网站制作价格表搜狗权重查询
  • 网络公关在哪些方面能发挥作用博客seo怎么做
  • 网站建设的五类成员站长工具国色天香
  • 建设工程信息网为官方网站搜索引擎营销
  • 网站做排名2015百度推广后台登陆
  • 网站打不开 域名做解析今天重大新闻
  • 网站放到iis如何做指向百度搜索推广是什么
  • 网站关键字优化合同百度网络营销的概念
  • 彩票网站做任务赚钱网站优化排名怎么做
  • 抓取网站源码怎么做镜像网站优化公司排名
  • 生意宝做网站行吗杭州网站关键词排名
  • 哪个网站做律师推广百度首页排名怎么做到
  • 上海做网站那家好什么是白帽seo
  • 做日本机械零件的外贸网站信息流广告公司排名
  • 免费qq刷赞网站推广游戏优化大师有用吗
  • 长丰网站制作百度指数平台官网