前端開發:面向對象與javascript中的面向對象實現(一)


前端開發:面向對象與javascript中的面向對象實現(一)

前言:

      人生在世,這找不到對象是萬萬不行的。咱們生活中,找不到對象要挨罵,代碼里也一樣。朋友問我說:“嘿,在干嘛呢......”,我:“找不到對象!”,他:“就你那樣也能找得到對象?”。我一臉黑線......

      廢話不多說,今天博主要跟大家聊的是《面向對象與javascript中的面向對象實現》”。

 

面向對象理解:

  面向對象是一種對現實世界理解和抽象的方法,是一種先進的程序設計理念,是一種比較抽象的,多形態的設計模式。我們可以這么理解:“萬物皆對象”,我面向了它,即“面向對象”。例如,面前有一台電視機,深入剖析,這個電視機具有哪些特性?

     ①  它是開着的或者是關着的;

     ②  它有幾個按鈕,包括(開關鍵、音量鍵、上一個節目、下一個節目);

     ③  有一個機頂盒用來接收數據

  類的概念

  現在,我們把電視看成一個對象,它的抽象化就是,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象,也就是說,類==對象==實例

  類的方法

    類有很多個方法,現在我們可以把電視機看成一個類,它現在有哪些方法呢? 開關、音量、節目;這是它的方法,就是類的方法;我們不需要去關心按下開關電視經歷了什么樣的開機過程,我們只需要知道,我按下了開關,它就會開啟。

  私有與公共

  可以被用戶訪問到的方法叫做公共方法,而那些只可以被類訪問的方法叫做私有方法,沒錯,就是數據,電視機在接收電視台的信息的時候,我們是不能控制的,它在內部調用了一個方法。哦~我們按下了開關這個方法,然后開關這個方法調用了一個私有的接收信息方法,然后電視就被另一個私有方法(顯示在屏幕上)顯示出來了。

  繼承

  現在,我覺得我的電視機屏幕顯示效果太爛,行,換個新的。在換上的時候,我們可以說,哦~現在電視機又多了一個顯示器,擁有了這個顯示器的所有控制按鈕與控制接口(開關,音量等等),那我們就可以認為,電視機繼承了這一個新的顯示器,它繼承了這個顯示器的方法,它現在就可以調用這個顯示器的顯示方法,把電視顯示在新的顯示器上面。

  一張詳解圖:

 

javascript中面向對象實現(1):

  在javascript中實現面向對象沒有其他oo語言那樣簡便,因為它並沒有直接規定class標識等等,要實現它有很多種方法,博主暫且舉一個最常見的栗子,其它的篇幅過長,我們在下一章一一詳解:

//創建自定義數據格式
        
        function DianZan(){
            //構造函數
        }
        DianZan.prototype = {
            //給類添加方法
                dianzan:function(){
                    alert("給博主點一個贊");
                },
                budianzan:function(){
                    alert("狠心拒絕");
                }
            }
        
        var dianzan = new DianZan();   //創建了一個實例(類)
        
        dianzan.dianzan(); //調用方法點贊

首先,我們創建了一個構造函數,然后給構造函數的原型添加了兩個方法,最后,創建一個dianzan示例(類),然后調用點贊方法;  結合上面的邏輯,你看懂了嗎?

 

總結:

  下一章我們繼續深入理解javascript中的面向對象,它遠沒有想象中的那么復雜。弄清楚里面的原理,我想對大家來說都是一件非常有意義的事情。

 

---------------------------------------時間不曾停下它的腳步,你又怎么可以止步不前---------------------------------------

 

  我的微信號:    qq:

 歡迎各種技術討論,如果您有建站需求,歡迎聯系;

 (轉載請注明出處)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM