前端開發:面向對象與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:
歡迎各種技術討論,如果您有建站需求,歡迎聯系;
(轉載請注明出處)