亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

TypeScript極速完全進(jìn)階指南-2中級(jí)篇

rozbo / 2848人閱讀

摘要:抽象類就是只是用來(lái)繼承而不是實(shí)現(xiàn)的類。這里我解釋清楚沒(méi)有為什么會(huì)有抽象類。接口就是這么一個(gè)玩意,我們看看你劉姨的需求。

好,我們繼續(xù)那個(gè)沉重的話題分割我的財(cái)產(chǎn),上一篇
TypeScript極速完全進(jìn)階指南-1初級(jí)篇
我兒子確實(shí)拿到錢了,

class Person{
    name:string;
    age:number;
    food:string = "剁椒魚頭";//外面賦值這里賦值一碼事
    private money:number = 10000000000000;//別激動(dòng),肯定不是中國(guó)天堂銀行發(fā)行的
    //構(gòu)造函數(shù),人生下來(lái),年齡就定了
    constructor(name:string,age:number){
        this.name = name;
        this.age = age;
    }
    //eat 大彬哥就特么愛(ài)吃魚
    favoriteFood(){
        return this.food;
    }
    makeMoney(salary:number):number{
       return  this.money+=salary;
    }
    //我自己被窩偷著樂(lè),數(shù)1后面的0
    touZheLe(){
        return this.money;
    }
}
//1.啥也別說(shuō)先造個(gè)人再說(shuō)
var dabinge = new Person("大彬哥",18);
//2.想問(wèn)我多大撩我或者請(qǐng)我吃飯問(wèn)我愛(ài)吃啥我肯定告訴你
console.log(dabinge.age);
console.log(dabinge.favoriteFood());
//3.想問(wèn)我銀行卡里有多少錢?我肯定不告訴你
// console.log(dabinge.money);
// 大彬哥每個(gè)月工資不是很多998
dabinge.makeMoney(998);
//4.我自己在被窩可以偷著看自己余額,通過(guò)偷著樂(lè)函數(shù)看私有屬性
console.log(dabinge.touZheLe());//10000000000998

class bingeSons extends Person{
    isHandsome:boolean = true;
    constructor(name:string,age:number){
        super(name,age);//都是我的老底兒,姓名年齡cls
    }
}
let binSon = new bingeSons("彬哥2.0",18);
console.log(binSon.food);//我兒子錢都到手了

但是,不管是法律或者大彬哥遺囑肯定不能這么寫,我大兒子能繼承我的錢,我二兒子也能繼承,我三兒子也能繼承,我大女兒能繼承,二女兒能繼承,這么寫估計(jì)我還沒(méi)寫完就掛了,或者法律書得多厚??!一般都會(huì)這么說(shuō)只要是直系親屬這一類人都能繼承我的錢,而不用強(qiáng)調(diào)某個(gè)人。這里我根本不用管單個(gè)人。這里我寫分錢,寫一個(gè)特別適用而典型的例子,數(shù)學(xué)方法。我們平常用數(shù)學(xué)方法的時(shí)候沒(méi)必要先New一個(gè)吧(我不想臭拽那些名詞,比如實(shí)例化)。

肯定不這樣用:

let M = new Math();
M.random()

而是直接用類調(diào)用

Math.random()
Math.PI

這個(gè)玩意在類里面叫靜態(tài)屬性和方法,用static去修飾,跟private類似。

class BinMath{
    static PI:number=66666;
    static random():number{
        return Math.random();
    }
}
console.log(BinMath.PI);
console.log(BinMath.random());

好,回到財(cái)產(chǎn)分配問(wèn)題,確實(shí)給我子女一部分錢了,但是我還是個(gè)很精確的人我說(shuō)的是一部分,而不是所有,因?yàn)槲蚁刖杞o慈善機(jī)構(gòu)一部分。但是這里問(wèn)題就來(lái)了,大家考慮,我不可能說(shuō)清楚所有慈善基金會(huì)的標(biāo)準(zhǔn),那我豈不是要累死。我只能說(shuō)這個(gè)基金會(huì)的大體標(biāo)準(zhǔn),后續(xù)基金會(huì)打算拿錢肯定得滿足我說(shuō)的條件,然后還有自己的實(shí)際情況。我只能抽象的說(shuō)些條件,比如慈善機(jī)構(gòu)必須得有名字,存活50年以上的,比如必須財(cái)務(wù)透明,還有就是教育類的,要解決這個(gè)問(wèn)題就得使用抽象類。抽象類就是只是用來(lái)繼承而不是實(shí)現(xiàn)的類。其實(shí)你看極端的情況我只說(shuō)這類慈善機(jī)構(gòu)必須有名字,實(shí)際這個(gè)跟沒(méi)說(shuō)一樣,你隨便套一個(gè)機(jī)構(gòu)都行,所以說(shuō)新建一家有名字的機(jī)構(gòu)跟廢話一樣,但是其他機(jī)構(gòu)必須符合這些條件。這里我解釋清楚沒(méi)有為什么會(huì)有抽象類。比如你要開發(fā)一個(gè)實(shí)際組件,你知道這個(gè)組件肯定得有名字,得有描述得有版本號(hào),但是這些東西你new出一個(gè)對(duì)象沒(méi)有毛用,它只是一個(gè)規(guī)范,更合適的方式是 按照這個(gè)規(guī)范去做事,也就是繼承它。拿分錢舉例,

abstract class Jigoubiaozhun {
    abstract jigouName: string;
    age:number = 50;
    abstract showMoney(money:number):number;//你只要把我錢公示就行了是網(wǎng)上還是其他地方我不管,你自己去實(shí)現(xiàn)
    constructor(name: string,age:number) {
    }

}
//假設(shè)有一類慈善機(jī)構(gòu)是專門去給沙漠兒童捐款挖井的,想申請(qǐng),說(shuō)符合我要求 
class shamoChildren extends Jigoubiaozhun{
    public jigouName = "沙漠挖井基金協(xié)會(huì)"
    private money: number = 5000000;
    showMoney():number{
        return this.money; 
    }
    constructor(name:string,age:number){
        super(name,age);
    }
}

var xinJiangWajing = new shamoChildren("新疆挖井隊(duì)",50);
console.log(xinJiangWajing.showMoney());

大彬哥分錢圓滿結(jié)束!

正寫著教程呢,這時(shí)候你劉姨打電話跟我說(shuō),別吹牛逼了,趕緊找對(duì)象,要找個(gè)懂事的,工作好的,疼你的,但是你懂得,你問(wèn)她誰(shuí)?。克偸侵挥袠?biāo)準(zhǔn)(接口),讓你自己去實(shí)現(xiàn)(implements),就像接口一樣。接口就是這么一個(gè)玩意,我們看看你劉姨的需求。

 interface girl {
    dongshi:boolean;
    job:string;
    tengNi(): boolean;//接口不能實(shí)現(xiàn)方法 只有規(guī)定,跟你劉姨真像
 }

 class GirlFriend implements girl{
     dongshi=true;
     job = "good";
     tengNi(){
         return true;
     }
 }
var cuihua = new GirlFriend();
console.log(cuihua.job);

為啥要有interface呢,太好理解了你劉姨怕我走歪路唄,好我們看看代碼出事兒的情況:

function renshi(meizi:any){
    console.log(meizi.name);
}
function yuehui(meizi:any){
    console.log(meizi.name+"晚上一起看電影吧,記得帶身份證");
}
const meizi = {
    name:"白富美"
}
renshi(meizi);
yuehui(meizi);

我修改一點(diǎn),

const meizi = {
    mingzi:"白富美"
}

完蛋了,約會(huì)三件套都得改……有同學(xué)說(shuō)我改meizi一個(gè)地方不就行了,這樣有兩個(gè)問(wèn)題1.你懂大彬哥的妹子有一個(gè)加強(qiáng)連那么多你怎么改?第二要是能在寫的時(shí)候就防止這么寫多好?滿足你需求。

interface date{
    mingzi:string;
}
function renshi(meizi:date){
    console.log(meizi.name);//報(bào)錯(cuò),直接扼殺錯(cuò)誤在搖籃之中
}
function yuehui(meizi:date){
    console.log(meizi.name+"晚上一起看電影吧,記得帶身份證");
}
const meizi = {
    name:"白富美"
}
renshi(meizi);
yuehui(meizi);

但是你懂得,不是每一個(gè)女孩用約會(huì)三件套都好使,比如運(yùn)動(dòng)型女孩,你可以找她去打羽毛球,文靜型女孩你可以去帶她聽音樂(lè)會(huì),書香門第的女孩你可以帶她去逛逛潘家園……你得對(duì)癥下藥,但是問(wèn)題來(lái)了,你劉姨雖然給你介紹一加強(qiáng)連的女孩,但是我在見面之前我是不知道她是什么類型,這就容易產(chǎn)生你對(duì)著古典的女孩約她打羽毛球的問(wèn)題。用代碼表示,就是有時(shí)候我們一開始并不知道參數(shù)的類型,只有在執(zhí)行的時(shí)候才知道。

function showData(data:any){
    return data;
}
showData("leolau").length;
showData(12).length;//這特么不就廢了么
showData({ name: "leo" }).length;
showData([12, 5, 8]).length;

咋整?TS里面又一個(gè)牛逼的東西叫做泛型。泛型的意思就是,先別管類型是啥,先到我碗里來(lái),然后處著的時(shí)候我在看她是哪種類型。好,我們看下咋整。

function showData(data:T){
    return data;
}
console.log(showData("leolau").length);
console.log(showData(12).length);
console.log(showData({ name: "leo" }).length);
console.log(showData([12, 5, 8]).length);

話不投機(jī),當(dāng)場(chǎng)報(bào)錯(cuò),當(dāng)然了泛型也可以用在類型上,比如說(shuō)長(zhǎng)頭發(fā)大眼睛是不是很可能是溫柔的女孩啊,就像數(shù)組很可能裝的是數(shù)字一樣。

const arr: Array = [12, 5, 8];
arr.push("約么");//人家數(shù)字類型,你總不好放string吧

函數(shù)參數(shù)也可以泛型,其實(shí)就是不知道啥類型。

function showArray(data:T[]){//這里雖然是泛型但是規(guī)定了必須死數(shù)組
    for(var i = 0;i(["leo","lau"]);

說(shuō)到妹子的話差別還是很大的,有些人家境一般有些人是含著金鑰匙長(zhǎng)大的,但是良好的家境只是人家的裝飾,而不是決定一切的,畢竟順境加個(gè)人努力成功的人很多,我說(shuō)這句話是想說(shuō)ts里面也有裝飾器,它就像手槍的消聲器一樣。代碼如下:

function hasKey(constructor:Function){
    console.log("我含著金鑰匙呢");
}
@hasKey
class Person{
    name:string;
    age:number;
    constructor(name: string, age: number){
        this.name = name;
        this.age = age;
        console.log("我是" + name +",今年"+age+"歲我驕傲了嗎");
    }
}

const baifumei = new Person("白富美",18);
console.log(baifumei);

說(shuō)了很多關(guān)于類,和接口的東西,這些其實(shí)很大程度上是為了復(fù)用和代碼簡(jiǎn)潔!

面我要說(shuō)另外一個(gè)東西,讓代碼更加簡(jiǎn)潔和實(shí)用的東西-模塊化。

新建./Math/two.ts

export const double:number = 2;
export function doubleKill(num:number):number{
    return num * double;
}

新建techMod.ts并引入,

import { double, doubleKill} from "./Math/two";
console.log(double, doubleKill(3));

報(bào)錯(cuò),export未定義,原因是原生js哪怕ES6瀏覽器都不支持模塊化,咋整,實(shí)用模塊加載庫(kù)。

個(gè)人比較喜歡,SystemJs,為啥喜歡它?喜歡需要理由嗎?好吧這么說(shuō)容易挨打,因?yàn)樗恼Z(yǔ)法很可能成為將來(lái)的事實(shí)標(biāo)準(zhǔn),這樣可以讓你省的在學(xué)一遍。

npm install systemjs --save

啥也不說(shuō)了,上一梭子代碼。




    
    
    
    Document
    
    



到目前我們已經(jīng)搞定了大部分TypeScript,但是我知道你在想啥,知道了知識(shí)該怎么實(shí)際應(yīng)用呢?比如說(shuō)如何搭建一個(gè)工作流開發(fā)項(xiàng)目呢?或者說(shuō)如何用TS去結(jié)合到angular、react、vue框架呢?

我知道大家想的是你是不是想要講TS怎么用到Angular中???既然大家呼聲那么高,那我就講TypeScript如何搭建工作流開發(fā)React應(yīng)用……
更多精彩內(nèi)容歡迎大家觀看我的SF講座TypeScript極速完全進(jìn)階指南

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/94517.html

相關(guān)文章

  • TypeScript極速完全進(jìn)階指南-1初級(jí)

    摘要:簡(jiǎn)介比更強(qiáng)大的開源語(yǔ)言,簡(jiǎn)稱,親爸是微軟。大彬哥就愛(ài)吃剁椒魚頭。接口,范型,命名空間,以及模塊化管理,并講在框架和工作流中的應(yīng)用等更多精彩內(nèi)容歡迎大家觀看我的講座極速完全進(jìn)階指南 +TypeScript簡(jiǎn)介 ? 1.比javascript更強(qiáng)大的開源語(yǔ)言,簡(jiǎn)稱TS,親爸是微軟。 ? 2.官網(wǎng) ? 英文官網(wǎng):https://www...

    HmyBmny 評(píng)論0 收藏0
  • TypeScript極速完全入門-3ts結(jié)合react進(jìn)行項(xiàng)目開發(fā)

    摘要:前面我們已經(jīng)說(shuō)了大部分的核心內(nèi)容,接下來(lái)我們就說(shuō)說(shuō)如何用開發(fā)實(shí)際項(xiàng)目。因?yàn)楹徒Y(jié)合很緊密,資料也很多,而且我會(huì)找機(jī)會(huì)專門說(shuō)下這方面的知識(shí),所以我們將重點(diǎn)放到如何用結(jié)合上來(lái)。所以前面打牢基礎(chǔ),現(xiàn)在我們開始實(shí)際組建工作流。 前面我們已經(jīng)說(shuō)了大部分typescript的核心內(nèi)容,接下來(lái)我們就說(shuō)說(shuō)如何用typescript開發(fā)實(shí)際項(xiàng)目。 因?yàn)閍ngular和typescript結(jié)合很緊密,資料也...

    arashicage 評(píng)論0 收藏0
  • 前端資源系列(4)-前端學(xué)習(xí)資源分享&前端面試資源匯總

    摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒(méi)想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...

    princekin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<