接下來就開始今天的內(nèi)容:
什么是面向?qū)ο螅?/p>
就是把數(shù)據(jù)及數(shù)據(jù)的操作方法放在一起,作為一個(gè)相互依存的整體----對(duì)象。對(duì)同類對(duì)象抽象出其共性,形成類。
類中的大多數(shù)據(jù),只能用本類的方法進(jìn)行處理。類通過一個(gè)簡(jiǎn)單的外部接口與外界發(fā)生關(guān)系,對(duì)象與對(duì)象之間通過消息進(jìn)行通信。程序流程由用戶在使用中決定。
名詞解釋:
基于對(duì)象:一切皆對(duì)象,以對(duì)象的概念來編程。
面向?qū)ο缶幊蹋?/p>
對(duì)象:就是人們要研究的事物,不僅能表示具體事物,還能表示抽象的規(guī)則,計(jì)劃或事件。
屬性的無序集合,每個(gè)屬性可以存一個(gè)值(原始值,對(duì)象,函數(shù))
對(duì)象的屬性和行為:
屬性:用數(shù)據(jù)值來描述他的狀態(tài)
行為:用來改變對(duì)象行為的方法
類:
具有相同或相似的性質(zhì)的對(duì)象的抽象就是類。對(duì)象的抽象,就是類。累的具體化就叫做對(duì)象。
說了面向?qū)ο螅驼f一下面向過程:
自頂向下順序執(zhí)行,逐步求精;其程序結(jié)構(gòu)是按功能劃分為若干個(gè)基本模塊,這些模塊形成一個(gè)樹狀結(jié)構(gòu);各模塊之間的關(guān)系盡可能簡(jiǎn)單,在功能上相對(duì)獨(dú)立;
每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成;
其模塊化實(shí)現(xiàn)的具體方法就是使用程序。程序流程寫在程序是就已決定。
說了這么多概念性的問題,還是有點(diǎn)模糊,下面來寫相關(guān)對(duì)象的一屆方法:
1、創(chuàng)建對(duì)象
(1)直接量
不如創(chuàng)建一個(gè)狗狗的對(duì)象,代碼如下:
dog ="Td""汪汪汪"
(2)工廠模式
1 <script> 2 //用工廠模式,先要確定創(chuàng)建對(duì)象的屬性和方法 3 //列如:創(chuàng)建摩拜單車,先要確定其屬性和方法 4 //屬性:名字 價(jià)錢 二維碼 顏色 鎖 5 //方法 : 跑 6 function createObj(name,price,code){ 7 //創(chuàng)建對(duì)象 8 var obj = new Object(); 9 obj.name = name;10 obj.price = price;11 obj.code = code;12 obj.color = "yellow";13 obj.run = function(){14 alert(this.name+"開始出發(fā)");15 }16 //在對(duì)象里,要使用對(duì)象的屬性或方法,要用this.屬性或this.方法。17 18 //返回對(duì)象19 return obj;20 }21 //調(diào)用工廠函數(shù)22 var a = createObj("摩拜單車1",1,101);23 var b = createObj("摩拜單車2",1,102);24 var c = createObj("摩拜單車3",1,103);25 26 a.run();27 28 alert(a.name + "價(jià)錢" + a.price+"元");29 </script>
(3)構(gòu)造函數(shù)
1 <script> 2 //構(gòu)造函數(shù) (又名 初始函數(shù)):用來創(chuàng)建對(duì)象的 3 4 //develop:開發(fā) 5 //【注意】1、構(gòu)造函數(shù)名 第一個(gè)字母 一定要 大寫 6 // 2、構(gòu)造函數(shù)沒有返回值 7 //this : 表示當(dāng)前, 指向的是自己本身 8 9 function Game(name,personCount,develop){10 this.name = name;11 this.personCount = personCount;12 this.develop = develop;13 this.play = function(){14 alert("我是"+this.name+"游戲"+"我的玩家數(shù)量是:"+this.personCount);15 }16 }17 18 //構(gòu)造函數(shù)不返回對(duì)象是因?yàn)?關(guān)鍵字new19 //new 關(guān)鍵字創(chuàng)建對(duì)象并返回對(duì)象20 var Lol = new Game("Lol","1000萬","拳頭");21 Lol.play();22 var Cf = new Game("cf","3億","三星");23 Cf.play();24 //instanceof 判斷一個(gè)對(duì)象他父親是誰25 alert(Lol instanceof Game);26 //Lol instanceof Game true27 //Lol instanceof Object true28 29 </script>
說一下構(gòu)造函數(shù)和工廠模式的區(qū)別:
構(gòu)造函數(shù)名首字母大寫,與工廠模式區(qū)別開;
構(gòu)造函數(shù)內(nèi)部使用this關(guān)鍵字;
構(gòu)造函數(shù)沒有返回值,工廠模式需要返回值;
今天就這樣,明天續(xù)更。。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com