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

資訊專欄INFORMATION COLUMN

JavaScript面向?qū)ο蟮娜筇卣?

chaosx110 / 2856人閱讀

摘要:什么是面向?qū)ο蟊疚牟辉谡撌?。接下來說一下面向?qū)ο蟮娜筇卣髟诋?dāng)中的實(shí)現(xiàn)。封裝實(shí)現(xiàn)封裝實(shí)現(xiàn)就是是對(duì)象內(nèi)部的變化對(duì)外界是透明的不可見。這種做法使對(duì)象之間低耦合便于維護(hù)升級(jí)團(tuán)隊(duì)協(xié)作開發(fā)。。

概述

本來打算寫設(shè)計(jì)模式的,在談?wù)搄s的設(shè)計(jì)模式之前先說一下js的面向?qū)ο?因?yàn)楹芏嘣O(shè)計(jì)模式的實(shí)現(xiàn)都摻雜著面向?qū)ο蟮乃枷?所以先做一下前期鋪墊。

js我們都知道是一種動(dòng)態(tài)類型腳本型語言,變量類型無法保證,所以我們可以嘗試調(diào)用任意對(duì)象的任意方法,不用考慮它原本是否被設(shè)計(jì)為擁有該方法。

什么是面向?qū)ο蟊疚牟辉谡撌?。接下來說一下面向?qū)ο蟮娜筇卣髟趈s當(dāng)中的實(shí)現(xiàn)。

封裝
這個(gè)特性在設(shè)計(jì)一個(gè)框架時(shí)需要認(rèn)真考慮的。封裝的目的是將信息隱藏,其主要可分為以下幾類

數(shù)據(jù)封裝

在一些靜態(tài)類型的語言如java中,本身語法就提供了這些功能。js當(dāng)中只能依靠變量的作用域來實(shí)現(xiàn)封裝的特性,并且只能模擬出public和private兩種特性。

/**
 -  利用函數(shù)創(chuàng)建的作用域達(dá)到數(shù)據(jù)封裝的目的。
 - @type {{getName, setName}}
  */

  var obj=(function () {
var _name="gcy";
return {
    getName:function () {
        return _name;
    },
    setName:function (val) {
        _name=val;
    }

};
 })();
 obj._name;  //undefined
 obj.getName(); //gcy

封裝實(shí)現(xiàn)

封裝實(shí)現(xiàn)就是是對(duì)象內(nèi)部的變化對(duì)外界是透明的,不可見。這種做法使對(duì)象之間低耦合,便于維護(hù)升級(jí),團(tuán)隊(duì)協(xié)作開發(fā)。
$(selector).each(function(index,element))。就比如這個(gè)each函數(shù),我們不用關(guān)心內(nèi)部實(shí)現(xiàn),只要提供的功能正確就行。我們關(guān)注的只是接口調(diào)用形式。

繼承

繼承在靜態(tài)語言中,例如java有關(guān)鍵字,雖然在es6中也有extend以及class,但其本質(zhì)仍實(shí)現(xiàn)仍是基于原型機(jī)制。

/**
 * 簡(jiǎn)單的es5原型繼承
 * @constructor
 */
var A=function () {
}
A.prototype={name:"gcy"};

var B=function () {
};
B.prototype=new A();

var b=new B();
console.log(b.name);
/**
 * e6繼承實(shí)現(xiàn)demo
 */
class People{
    constructor(name){
        this.name=name;
    }
    getName(){
        return this.name;
    }
}

class Black extends People{
    constructor(name){
        super(name);
    }
    speak(){
        return " i am black";
    }
}
var peo=new Black("gcy");

console.log(peo.getName()+" says "+peo.speak());

其實(shí)原型繼承方式寫法很多。我認(rèn)為還是理解原型鏈機(jī)制比較重要,關(guān)鍵就是理解prototype和__proto__.

多態(tài)

多態(tài)其實(shí)就是把做的內(nèi)容和誰去做分開。在java中我們可以通過向上轉(zhuǎn)型,也就是面向接口編程。因?yàn)閖s是動(dòng)態(tài)語言,多態(tài)性本身就有。
下面這個(gè)例子就說明了,一個(gè)動(dòng)物能否實(shí)現(xiàn)叫聲,只取決于makeSound,不針對(duì)某種類型的對(duì)象。

 /**
     * 多態(tài)的實(shí)現(xiàn)案例
     * @param animal
     */
    var makeSound=function (animal) {
        animal.sound();
    }
    var Duck=function () {
    }
    var Dog=function () {
    }
    Duck.prototype.sound=function () {
        console.log("嘎嘎嘎")
    }
    Dog.prototype.sound=function () {
        console.log("旺旺旺")
    }
    makeSound(new Duck());
    makeSound(new Dog());

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81489.html

相關(guān)文章

  • Java面向對(duì)象及其三大特征

    摘要:面向?qū)ο缶幊趟枷朊嫦驅(qū)ο螅?jiǎn)單來說就是由動(dòng)作的執(zhí)行者變?yōu)閯?dòng)作的操控者。面向?qū)ο笫窍鄬?duì)于面向過程的。面向?qū)ο笕筇卣髅嫦驅(qū)ο笥腥筇卣?,即封裝繼承和多態(tài)。接口和抽象類接口接口名方法方法,默認(rèn)修飾符為,不能用其他修飾符修飾接口。 面向?qū)ο缶幊趟枷?面向?qū)ο?,?jiǎn)單來說就是由動(dòng)作的執(zhí)行者變?yōu)閯?dòng)作的操控者。結(jié)合具體例子來說就是使用某個(gè)人或者工具所具有的功能而不用去管功能的具體實(shí)現(xiàn)方式。例如現(xiàn)實(shí)中...

    William_Sang 評(píng)論0 收藏0
  • java面向對(duì)象三大特征

    摘要:面向?qū)ο蟮娜筇卣鞣庋b繼承多態(tài)。以本文為例,類中的變量為私有變量,只能通過創(chuàng)建對(duì)象此時(shí)構(gòu)造方法自動(dòng)調(diào)用來賦值。 java面向?qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài)。 以本文為例,User類中的變量為私有變量,只能通過創(chuàng)建對(duì)象(此時(shí)構(gòu)造方法自動(dòng)調(diào)用)來賦值。外界只能通過公有方法api()來訪問User類。 Admin類繼承了User類,調(diào)用了其構(gòu)造方法,還重寫了method_1方法,增加了...

    susheng 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來。注意中,對(duì)象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來。注意中,對(duì)象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

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

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

0條評(píng)論

chaosx110

|高級(jí)講師

TA的文章

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