TS基础2(类)-学习笔记
生活随笔
收集整理的這篇文章主要介紹了
TS基础2(类)-学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- TS基礎2(類)-學習筆記
- class類
- 類的繼承
- 修飾符
- 類的類型、實現接口
TS基礎2(類)-學習筆記
class類
//類 class//首字母大寫//類(Class):定義了一件事物的抽象特點,包含它的屬性和方法class A { //定義類,名稱為A}//ES5 function Person(name,age){this.name = name;this.age = age;};Person.prototype.toString = function(){return this.name};var p = new Person('abc',20);p.name;p.toString()//ES6//一個類必須有constructor //class A{} === class A{constructor(){}}class Person2{name:string; //提前定義值類型age:number;constructor(name,age){this.name = name;this.age = age;}toString(){return this.name}};var p2 = new Person2('abc',20);類的繼承
//類的繼承//動物類class Animal {name:string;constructor(name){this.name = name;}eat(){return '吃肉'}}//繼承class Dog extends Animal {constructor(name){super(name);}say(){return this.name+' '+ this.eat() //調用父類的屬性和方法}}var d = new Dog('abc'); //實例化d.say();//static 靜態方法 修飾符 不需要實例化 可以直接通過類來調用class Animal2 {static url: string = 'abc';static eat(){ //添加修飾符return '吃肉'}eat2(){ //添加修飾符return '吃肉'}};// var e1 = new Animal2();// e1.eat() //error//Animal2.eat(); //不需要實例化Animal2.url//Animal2.eat2();修飾符
// 修飾符// public 修飾的屬性或方法是公有的,可以在任何地方被訪問到,默認所有的屬性和方法都是 public 的// private 修飾的屬性或方法是私有的,不能在聲明它的類的外部訪問// protected 修飾的屬性或方法是受保護的,它和 private 類似,區別是它在子類中也是允許被訪問的class A2 {name:string;public constructor(name){this.name = name;}//public static url: string = 'abc';public eat(){ //添加修飾符return '吃肉'}public eat2(){ //添加修飾符return '吃肉'}}//private 修飾的屬性或方法是私有的,不能在聲明它的類的外部訪問class A3 {private eat(){ //無法訪問return '吃肉'}public eat2(){ //添加修飾符return '吃肉123'}}var a3 = new A3();a3.eat() //訪問報錯 但不影響正常編譯a3.eat2() //正常訪問//protected 修飾的屬性或方法是受保護的,它和 private 類似,區別是它在子類中也是允許被訪問的class A4 {protected eat(){ //無法訪問 子類中也是允許被訪問的return '吃肉'}private eat3(){ //無法訪問 子類也不能訪問return '吃肉'}public eat2(){ //添加修飾符return '吃肉'}}class D4 extends A4 {constructor(){super();}fun() {return this.eat() //子類的內部是可以訪問的}fun3() {return this.eat3() //子類也不能訪問}}var a4 = new A4();var d4 = new D4();類的類型、實現接口
//類的類型 class A6 {name:string;constructor(name:string){this.name = name;}eat():string { //添加修飾符return '吃肉'}eat2(n:string):number{ //添加修飾符return 111}}//類實現接口//接口interface Obj {name:string;action():string;}//類實現接口 implements實現class A8 implements Obj {name:string;constructor(name){this.name = name;}action(){return '1111'}action2(){return 111}}//demo//定義門 公共類class Door{}//定義防火門 門的子類class sDoor extends Door implements Alarm{sing(){}}//報警功能 接口interface Alarm {sing();}interface Light{ //燈的接口lightOn();lightOff();}//車 類class Car implements Alarm,Light{sing(){}lightOn(){}lightOff(){}}總結
以上是生活随笔為你收集整理的TS基础2(类)-学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TS基础1(类型定义、接口)-学习笔记
- 下一篇: TS基础2(泛型、枚举、元组)-学习笔记