摘要:一面向對象編程簡介定義,簡稱,是一種程序設計思想。好處維護簡單模塊化是面向對象編程中的一個特征。可擴充性面向對象編程從本質上支持擴充性。
一、面向對象編程簡介
1.定義: Object Oriented Programming,簡稱OOP,是一種程序設計思想。OOP把對象作為程序的基本單元,一個對象包含了數據和操作數據的函數。
2.好處:
(1)、維護簡單:模塊化是面向對象編程中的一個特征。實體被表示為類和同一名字空間中具有相同功能的類,我們可以在名字空間中添加一個類而不會影響該名字空間的其他成員。 (2)、可擴充性:面向對象編程從本質上支持擴充性。如果有一個具有某種功能的類,就可以很快地擴充這個類,創(chuàng)建一個具有擴充的功能的類。 (3)、代碼重用:由于功能是被封裝在類中的,并且類是作為一個獨立實體而存在的,提供一個類庫就非常簡單。二、實例
下面給大家舉了幾個示例達到的效果一致,但用了不同的方法 (最后一種為完整的利用面向對象編程)*注:具體的詳解在代碼中
1.實例圖:
2.代碼:
第一種:(直接打?。?/p>
console.log("車名:汽車,輪胎:4"); console.log("車名:自行車,輪胎:2");
第二種:(*)
// 面向過程 函數編程 function Che(name,geshu){//利用了函數的參數傳入 console.log("車名:"+name+","+"輪胎:"+geshu+"!"); } // 定義參數的值 Che("汽車","4"); Che("自行車","2"); // 調用的這里只是傳入對應可變參數的值 // 這種方法叫做【面向過程】的編程方法,相對于上一種更便于改動
第三種:(*)
// 面向對象編程 var qiche={//"qiche"為對象的自變量 name:"汽車", geshu:"4", Che:function(name,geshu){//利用了函數的參數傳入 console.log("車名:"+this.name+","+"輪胎:"+this.geshu+"!"); } }; var zhixingche={ name:"自行車", geshu:"2", Che:function(name,geshu){//利用了函數的參數傳入 console.log("車名:"+this.name+","+"輪胎:"+this.geshu+"!");//this.name代表當前對象 } }; qiche.Che(); zhixingche.Che();//調用 // 對象由屬性和方法組成 // 屬性是對象特有的不變的,方法可以理解為對象的行為,方法通常為一個函數 // 代碼重復的較多
第四種(*)
// 面向對象編程 進階 // 類的概念 // 對象是類的一個具體實例 如:汽車是車的一種 // 類是對象的抽象 或者說 是由對象泛化 如:我們把汽車,自行車統一叫做車 function Car(name,geshu){//Car叫類 this.name=name; this.geshu=geshu;//=后面的為傳入的參數 this.Che=function(){ console.log("車名:"+this.name+","+"輪胎:"+this.geshu+"!"); } } //這個函數用來創(chuàng)建對象 var qiche=new Car("汽車","4"); var zhixingche=new Car("自行車","2"); // 我們把這組用來創(chuàng)建對象的函數叫做【構造函數】 // 【構造函數】的功能就是創(chuàng)建對象 qiche.Che(); zhixingche.Che();//調用
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/97496.html
摘要:組合構造函數原型模式解決構造傳參和共享問題,可以組合構造函數原型模式不共享的使用構造函數共享的使用原型模式強制指向這種模式也是最常見也是最常用的模式,這種混合模式很好的解決了傳參和引用共享的大難題。 寫在前面: 之前的文章都是寫構造函數,原型之類的。但是我們都知道原型最大的優(yōu)點也是缺點就是共享。也是我們最頭疼的問題.據共享的緣故,導致很多開發(fā)者放棄使用原型,因為每次實例化出的數據需要保...
摘要:學編程真的不是一件容易的事不管你多喜歡或是多會編程,在學習和解決問題上總會碰到障礙。熟練掌握核心內容,特別是和多線程初步具備面向對象設計和編程的能力掌握基本的優(yōu)化策略。 學Java編程真的不是一件容易的事,不管你多喜歡或是多會Java編程,在學習和解決問題上總會碰到障礙。工作的時間越久就越能明白這個道理。不過這倒是一個讓人進步的機會,因為你要一直不斷的學習才能很好的解決你面前的難題...
摘要:異步流程管理說白了就是為了解決回調地獄的問題。對象代表一個異步操作,有三種狀態(tài)進行中已成功和已失敗。如果改變已經發(fā)生了,你再對對象添加回調函數,也會立即得到這個結果。執(zhí)行函數后返回的是一個遍歷器對象,可以依次遍歷函數內部的每一個狀態(tài)。 javascript -- 深度解析異步解決方案 高級語言層出不窮, 然而唯 js 鶴立雞群, 這要說道js的設計理念, js天生為異步而生, 正如布道...
摘要:而面向對象則是向程序員提供表示問題空間中元素的工具,我們將問題空間中的元素及其在解空間中的表示稱為對象。為什么要把對象看作是服務提供者呢這是將問題分解為對象集合的一種合理方式。職能太多,可能會導致對象的內聚性降低。在試圖將子類對象當作其基類 計算機是頭腦延伸的工具,是一種不同類型的表達媒體。本文以背景性的和補充性的材料,介紹包括開發(fā)方法概述在內的面向對象程序設計(Object-orie...
摘要:函數式編程與面向對象編程編程的本質之劍目錄編程的本質讀到兩篇文章寫的不錯綜合摘錄一下復合是編程的本質函數式程序員在洞察問題方面會遵循一個奇特的路線。在面向對象編程中,類或接口的聲明就是表面。 函數式編程與面向對象編程[5]:編程的本質 之劍 2016.5.6 01:26:31 編程的本質 讀到兩篇文章,寫的不錯, 綜合摘錄一下 復合是編程的本質 函數式程序員在洞察問題方面會遵循...
閱讀 1319·2023-04-25 15:53
閱讀 2158·2021-11-19 09:40
閱讀 3566·2021-10-11 10:59
閱讀 2128·2019-08-30 15:55
閱讀 2025·2019-08-30 15:54
閱讀 2383·2019-08-29 13:03
閱讀 2826·2019-08-28 18:17
閱讀 1569·2019-08-27 10:51