国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

TypeScript--類

RobinQu / 638人閱讀

摘要:中定義類屬性前面省略了關鍵詞構(gòu)造函數(shù)實例化類的時候觸發(fā)的方法繼承在運動在運動子類在工作修飾符公有在當前類里面子類類外面都可以訪問保護類型在當前類里面子類里面可以訪問,在類外部沒法訪問私有在當前類里面可以訪問,子類類外部都沒法訪問在運動在

ts中定義類
class Person{
    name:string;  //屬性  前面省略了public關鍵詞
    constructor(n:string){  //構(gòu)造函數(shù)   實例化類的時候觸發(fā)的方法
        this.name = n;
    }
    run():void{
        alert(this.name);
    }
}
var p = new Person("lisi");
p.run()

class Person{
    name:string;
    constructor(name:string){
        this.name = name;
    }
    getName():string{
        return this.name;
    }
    setName(name:string):void{
        this.name = name;
    }
}
var p = new Person("lisi");
alert(p.getName());
p.setName("wanwu");
alert(p.getName());

繼承
class Person{
    name:string;
    constructor(name:string){
        this.name = name;
    }
    run():string{
        return `${this.name}在運動`;
    }
}
var p = new Person("lisi");
alert(p.run());

class Web extends Person{
    constructor(name:string){
        super(name);
    }
    run():string{
        return `${this.name}在運動--子類`
    }
    work(){
        alert(`${this.name}在工作`)
    }
}

var w = new Web("wanwu");
alert(w.run());
w.work();

修飾符

public :公有 在當前類里面、 子類 、類外面都可以訪問

protected:保護類型 在當前類里面、子類里面可以訪問 ,在類外部沒法訪問

private :私有 在當前類里面可以訪問,子類、類外部都沒法訪問

public
class Person{
    public name:string;
    constructor(name:string){
        this.name = name;
    }
    run():string{
        return `${this.name}在運動`;
    }
}
var p = new Person("lisi");
alert(p.run());

class Web extends Person{
    constructor(name:string){
        super(name);
    }
    run():string{
        return `${this.name}在運動--子類`
    }
    work(){
        alert(`${this.name}在工作`)
    }
}
var w = new Web("wanwu");
alert(w.run());

protected
class Person{
    protected name:string;
    constructor(name:string){
        this.name = name;
    }
    run():string{
        return `${this.name}在運動`;
    }
}
var p = new Person("lisi");
alert(p.run());

class Web extends Person{
    constructor(name:string){
        super(name);
    }
    run():string{
        return `${this.name}在運動--子類`
    }
    work(){
        alert(`${this.name}在工作`)
    }
}
var w = new Web("wanwu");
alert(w.run());

靜態(tài)屬性 靜態(tài)方法
class Person{
    public name:string;  /*公有屬性*/
    static sex = "男" //靜態(tài)屬性
    constructor(name:string){
        this.name=name;
    }
    run():string{
        return `${this.name}在運動`
    }

    static print(){
        // alert("print方法"+this.name);
        alert("print方法"+Person.sex);
    }
}

var p = new Person("lisi");
Person.print();

多態(tài)

多態(tài):父類定義一個方法不去實現(xiàn),讓繼承它的子類去實現(xiàn),每一個子類有不同的表現(xiàn)
多態(tài)屬性繼承

父類有方法,子類也有同樣的方法
class Animal{
    name:string;
    constructor(name:string){
        this.name = name;
    }
    //具體吃什么,不知道,具體吃什么,讓繼承它的子類去實現(xiàn),每一個子類的表現(xiàn)不一樣
    eat(){
        console.log("吃的方法")
    }
}

class Dog extends Animal{
    constructor(name:string){
        super(name);
    }
    eat(){
        return this.name +"吃骨頭"
    }
}
var d = new Dog("d");
alert(d.eat());

class Cat extends Animal{
    constructor(name:string){
        super(name);
    }
    eat(){
        return this.name +"吃魚"
    }
}
var c = new Cat("c");
alert(c.eat());

父類有方法,子類沒有同樣的方法
class Animal{
    name:string;
    constructor(name:string){
        this.name = name;
    }
    //具體吃什么,不知道,具體吃什么,讓繼承它的子類去實現(xiàn),每一個子類的表現(xiàn)不一樣
    eat(){
        console.log("吃的方法")
    }
}

class Dog extends Animal{
    constructor(name:string){
        super(name);
    }
    eat(){
        return this.name +"吃骨頭"
    }
}
var d = new Dog("d");
alert(d.eat());

class Cat extends Animal{
    constructor(name:string){
        super(name);
    }
    // eat(){
    //     return this.name +"吃魚"
    // }
}
var c = new Cat("c");
alert(c.eat());

抽象類

抽象類:它是提供其它繼承的基類,不能直接被實例化

abstract關鍵字定義抽象方法,抽象類中的抽象方法不包含具體實現(xiàn)并且必須在派生類中實現(xiàn)

abstract抽象方法只能放在抽象類里面

抽象類和抽象方法用來定義標準,標準:Animal這個類要求它的子類必須包含相同的方法,如eat()

直接被實例化,報錯
abstract class Animal{
    public name:string;
    constructor(name:string){
        this.name = name;
    }
    abstract eat():any;
    run(){
        console.log("運動")
    }
}

var a = new Animal();

父類定義的抽象方法,子類沒有定義,報錯
abstract class Animal{
    public name:string;
    constructor(name:string){
        this.name = name;
    }
    abstract eat():any;
    run(){
        console.log("運動")
    }
}

class Dog extends Animal{
    constructor(name:string){
        super(name);
    }
    // eat(){
    //     console.log(this.name+"吃骨頭")
    // }

}

正常

類非抽象方法,子類可以不寫

abstract class Animal{
    public name:string;
    constructor(name:string){
        this.name = name;
    }
    abstract eat():any;
    run(){
        console.log("運動")
    }
}


class Dog extends Animal{
    constructor(name:string){
        super(name);
    }
    eat(){
        console.log(this.name+"吃骨頭")
    }

}

var d = new Dog("d");
d.eat()

class Cat extends Animal{
    constructor(name:string){
        super(name);
    }
    eat(){
        console.log(this.name+"吃魚")
    }
}

var c = new Cat("c");
c.eat()

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/101691.html

相關文章

  • 一篇文章帶你過一遍 TypeScript

    摘要:泛型通過在函數(shù)接口類變量名后使用定義。抽象類可以包括具體實現(xiàn)一個類只能繼承一個類,但是可以實現(xiàn)多個接口。該開源項目目前由社區(qū)進行維護。通常通過中的字段,或者聲明文件進行聲明。 TypeScript 是 Javascript 的一個超集,提高了代碼的可讀性和可維護性。Typescript 官網(wǎng)提供的文檔已經(jīng)相當完善,但完整地看一遍需要一定的時間,本文試將 TypeScript 中要點提出...

    AlphaWallet 評論0 收藏0
  • 【譯】使用TypeScript兩年后-值得嗎?

    摘要:弄了一個持續(xù)更新的筆記,可以去看看,鏈接地址此篇文章的地址使用兩年后值得嗎基礎筆記的地址可以也可以。使用,你可以使用抽象類等功能。有關抽象類的更多信息支持,和方法,只讀屬性。 弄了一個持續(xù)更新的github筆記,可以去看看,鏈接地址:Front-End-Basics 此篇文章的地址:使用TypeScript兩年后-值得嗎? 基礎筆記的github地址:https://githu...

    RyanQ 評論0 收藏0
  • TypeScript VS JavaScript 深度對比

    摘要:是事件驅(qū)動的,只根據(jù)用戶的操作做出相應的反應處理。中的數(shù)據(jù)要求帶有明確的類型,不要求。這些小小的變化可能會產(chǎn)生嚴重的意想不到的后果,因此有必要撤銷這些變化。的優(yōu)勢相比于,也有一些明顯優(yōu)勢。因此在應對大型開發(fā)項目時,使用更加合適。 showImg(https://segmentfault.com/img/bV1Dx7?w=740&h=322); TypeScript 和 JavaScri...

    William_Sang 評論0 收藏0
  • 從 JavaScript 到 TypeScript - 聲明

    摘要:要為變量或者常量指定類型也很簡單,就是在變量常量名后面加個冒號,再指定類型即可,比如聲明函數(shù)是類型,即返回值是類型聲明參數(shù)是類型聲明是無返回值的聲明是這段代碼演示了對函數(shù)類型參數(shù)類型和變量類型地聲明。變量函數(shù)參數(shù)和返回值需要申明類型。 從 JavaScript 語法改寫為 TypeScript 語法,有兩個關鍵點,一點是類成員變量(Field)需要聲明,另一點是要為各種東西(變量、參數(shù)...

    Flands 評論0 收藏0
  • TypeScript快速入門

    摘要:添加了可選的靜態(tài)類型注意并不是強類型和基于類的面向?qū)ο缶幊獭n愵愋徒涌谑纠涌诟⒅毓δ艿脑O計,抽象類更注重結(jié)構(gòu)內(nèi)容的體現(xiàn)模塊中引入了模塊的概念,在中也支持模塊的使用。 一:Typescript簡介 維基百科: TypeScript是一種由微軟開發(fā)的自由和開源的編程語言。它是JavaScript的一個嚴格超集,并添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊獭#的首席架構(gòu)師以及Delp...

    moven_j 評論0 收藏0
  • TypeScript入門學習之路

    摘要:學習之路學習之路安裝環(huán)境起步開發(fā)工具自動編譯文件中的數(shù)據(jù)類型中的函數(shù)中類的定義繼承中的繼承中的繼承類的靜態(tài)屬性和靜態(tài)方法類的多態(tài)的抽象類中的接口中的泛型學習之路安裝環(huán)境查看版本起步新建通過命令編譯此時路徑下 ...

    jemygraw 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<