合肥建设干部学校网站首页,哪些公司网站做的好,网络营销策略论文,专门做2手手机的网站文章目录 类复习相关知识属性修饰符public 修饰符属性的简写形式 protected修饰符private修饰符readonly修饰符 抽象类 接口#xff08;interface#xff09;定义类结构定义对象结构定义函数结构接口之间的继承接口自动合并 #xff08;可重复定义#xff09;一些相似的概念… 文章目录 类复习相关知识属性修饰符public 修饰符属性的简写形式 protected修饰符private修饰符readonly修饰符 抽象类 接口interface定义类结构定义对象结构定义函数结构接口之间的继承接口自动合并 可重复定义一些相似的概念的区别1.interface和type的区别2.interface和抽象类的区别  泛型 类 
复习相关知识 属性修饰符 public 修饰符 属性的简写形式 
完整写法 
class Person {public name: string;public age: number;constructor(name: string, age: number) {this.name  name;this.age  age;}
}简写形式 
class Person {constructor(public name: string,public age: number) { }
}protected修饰符 private修饰符 
class Person {constructor(public name: string,public age: number,// IDCard属性为私有的(private)属性只能在【类内部】使⽤private IDCard: string) {}private getPrivateInfo() {// 类内部可以访问私有的(private)属性 —— IDCardreturn 身份证号码为${this.IDCard};}getInfo() {// 类内部可以访问受保护的(protected)属性 —— name和agereturn 我叫: ${this.name}, 今年刚满${this.age}岁;}getFullInfo() {// 类内部可以访问公开的getInfo⽅法也可以访问私有的getPrivateInfo⽅法return this.getInfo()    this.getPrivateInfo();}
}
const p1  new Person(张三, 18, 110114198702034432);
console.log(p1.getFullInfo());
console.log(p1.getInfo());
console.log(p1.name);// 以下代码均报错
// p1.IDCard
// p1.getPrivateInfo() 
readonly修饰符 抽象类 概述 抽象类是一种无法被实例化的类 专门用来定义类的结构和行为类中可以写抽象方法也可以写具体实现 抽象类主要用来为其派生类提供一个基础结构 要求其派生类必须实现其中的抽象方法 简记抽象类不能实例化其意义是可以被继承抽象类里可以有普通方法也可以有抽象方法 抽象方法没有函数体 即没有{} 过以下场景理解抽象类 我们定义⼀个抽象类 Package 表示所有包裹的基本结构任何包裹都有重量属性 weight 包裹都需要计算运费。但不同类型的包裹如标准速度、特快专递都有不同的运费计算方式因此用于计算运费的 calculate 方法是⼀个抽象方法必须由具体的子类来实现。 StandardPackage 类继承了 Package 实现了 calculate 方法 第一个weight不写public的原因是因为 weight是父类的属性本身写一般写法的时候就不需要声明 然后再在构造器里面写this.weightweight 只有子类独有的属性 使用简写形式的时候才需要public 总结何时使用抽象类 1.定义通用接口为一组相关的类定义通用的行为方法或属性时 2.提供基础实现在抽象类中提供某些方法或为其提供基础实现这样派生类就可以继承这些实现 3.确保关键实现在抽象类中提供某些方法或为其提供基础实现这样派生类就可以继承这些实现 共享代码和逻辑当多个类需要共享部分代码时抽象类可以避免代码重复 接口interface interface是一种定义结构的方式主要作用是为类 对象 函数等规定一种契约这样可以确保代码的一致性和类型安全但要注意 interface 只能定义格式不能包含任何实现 定义类结构 定义对象结构 
注意 对象结构不需要 implements  
定义函数结构 接口之间的继承 
一个interface继承另一个interface从而实现代码的复用  
接口自动合并 可重复定义 何时使用接口 1.定义对象的格式描述数据模型API响应格式配置对象等等 是开发中用的最多的场景 2.类的契约规定一个类需要实现哪些属性和方法 3.扩展已有接口一般用于扩展第三方库的类型这种特性在大型项目中可能会用到 一些相似的概念的区别 
1.interface和type的区别 
相同点interface和type都可以用于定义对象的结构 在定义对象结构时两者可以互换 不同点interface 更专注于定义对象和类的结构 支持继承 合并 type可以定义类型别名 联合类型 交叉类型 但不支持继承和自动合并    
2.interface和抽象类的区别 
相同点:都能定义一个类的格式定义类应遵循的契约 不相同 接口 只能描述结构 不能有任何实现代码 一个类就可以实现多个接口 抽象类 既可以包含抽象方法 也可以包含具体方法 一个类只能继承一个抽象类 泛型 泛型允许我们在定义函数、类或接⼝时使⽤类型参数来表示未指定的类型这些参数在具体使⽤时才被指定具体的类型泛型能让同⼀段代码适⽤于多种类型同时仍然保持类型的安全性 举例如下代码中 就是泛型 不一定非叫T  设置泛型后即可在函数中使用T来表示该类型      文章转载自: http://www.morning.tqsnd.cn.gov.cn.tqsnd.cn http://www.morning.cfynn.cn.gov.cn.cfynn.cn http://www.morning.kcdts.cn.gov.cn.kcdts.cn http://www.morning.zbpqq.cn.gov.cn.zbpqq.cn http://www.morning.psdbf.cn.gov.cn.psdbf.cn http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn http://www.morning.bgqr.cn.gov.cn.bgqr.cn http://www.morning.mstbbs.com.gov.cn.mstbbs.com http://www.morning.nlkm.cn.gov.cn.nlkm.cn http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn http://www.morning.ysqb.cn.gov.cn.ysqb.cn http://www.morning.wmfh.cn.gov.cn.wmfh.cn http://www.morning.qfgxk.cn.gov.cn.qfgxk.cn http://www.morning.dfndz.cn.gov.cn.dfndz.cn http://www.morning.qwhbk.cn.gov.cn.qwhbk.cn http://www.morning.nynyj.cn.gov.cn.nynyj.cn http://www.morning.kljhr.cn.gov.cn.kljhr.cn http://www.morning.rjnm.cn.gov.cn.rjnm.cn http://www.morning.sgjw.cn.gov.cn.sgjw.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn http://www.morning.hnrls.cn.gov.cn.hnrls.cn http://www.morning.yhplt.cn.gov.cn.yhplt.cn http://www.morning.hqbk.cn.gov.cn.hqbk.cn http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn http://www.morning.pcrzf.cn.gov.cn.pcrzf.cn http://www.morning.bdfph.cn.gov.cn.bdfph.cn http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn http://www.morning.hhpkb.cn.gov.cn.hhpkb.cn http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn http://www.morning.rjnx.cn.gov.cn.rjnx.cn http://www.morning.gwxwl.cn.gov.cn.gwxwl.cn http://www.morning.jxtbr.cn.gov.cn.jxtbr.cn http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn http://www.morning.chxsn.cn.gov.cn.chxsn.cn http://www.morning.clbgy.cn.gov.cn.clbgy.cn http://www.morning.plwfx.cn.gov.cn.plwfx.cn http://www.morning.xfncq.cn.gov.cn.xfncq.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.ntyks.cn.gov.cn.ntyks.cn http://www.morning.bpmtq.cn.gov.cn.bpmtq.cn http://www.morning.lrylj.cn.gov.cn.lrylj.cn http://www.morning.bmqls.cn.gov.cn.bmqls.cn http://www.morning.yxwcj.cn.gov.cn.yxwcj.cn http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn http://www.morning.thlr.cn.gov.cn.thlr.cn http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn http://www.morning.3jiax.cn.gov.cn.3jiax.cn http://www.morning.tlfzp.cn.gov.cn.tlfzp.cn http://www.morning.zckhn.cn.gov.cn.zckhn.cn http://www.morning.qbwyd.cn.gov.cn.qbwyd.cn http://www.morning.qfzjn.cn.gov.cn.qfzjn.cn http://www.morning.mspqw.cn.gov.cn.mspqw.cn http://www.morning.frfpx.cn.gov.cn.frfpx.cn http://www.morning.sypzg.cn.gov.cn.sypzg.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn http://www.morning.rgtp.cn.gov.cn.rgtp.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.tgtrk.cn.gov.cn.tgtrk.cn http://www.morning.jzfrl.cn.gov.cn.jzfrl.cn http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn http://www.morning.hnkkf.cn.gov.cn.hnkkf.cn http://www.morning.nndbz.cn.gov.cn.nndbz.cn http://www.morning.iuibhkd.cn.gov.cn.iuibhkd.cn http://www.morning.qcslh.cn.gov.cn.qcslh.cn http://www.morning.gjlst.cn.gov.cn.gjlst.cn http://www.morning.rtkgc.cn.gov.cn.rtkgc.cn http://www.morning.nqcts.cn.gov.cn.nqcts.cn http://www.morning.xdxpq.cn.gov.cn.xdxpq.cn http://www.morning.tqgx.cn.gov.cn.tqgx.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn http://www.morning.thpzn.cn.gov.cn.thpzn.cn http://www.morning.tlpsd.cn.gov.cn.tlpsd.cn http://www.morning.rfmzc.cn.gov.cn.rfmzc.cn http://www.morning.tjkth.cn.gov.cn.tjkth.cn http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn