1.什么是面向?qū)ο?特征是什么?
面向?qū)ο笫且环N編程思路,是一種軟件開(kāi)發(fā)的方法。面向?qū)ο笥腥筇卣鳎孩欧庋b ⑵繼承 ⑶多態(tài)
2.面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別是什么?各自的優(yōu)缺點(diǎn)是什么?
面向過(guò)程是分析出解決問(wèn)題所需要的所有步驟,然后用函數(shù)把這些步驟一步步的實(shí)現(xiàn),使用的時(shí)候在一個(gè)一個(gè)依次調(diào)用就可以了。
面向?qū)ο笫前褬?gòu)成問(wèn)題的事務(wù)分為不同的對(duì)象,建立對(duì)象的目的不是為了完成某個(gè)步驟,而是為了描述某個(gè)或某些函數(shù)在解決問(wèn)題的步驟中的行為。
面向?qū)ο笫且怨δ軄?lái)劃分問(wèn)題,而不是根據(jù)步驟劃分。
所以面向過(guò)程的優(yōu)點(diǎn)是性能比面向?qū)ο蟾?,因?yàn)轭愓{(diào)用時(shí)需要實(shí)例化,開(kāi)銷比較大,比較消耗資源;比如單片機(jī)、嵌入式開(kāi)發(fā)、Linux/Unix等一般采用面向過(guò)程開(kāi)發(fā),性能是最重要的因素。缺點(diǎn)是沒(méi)有面向?qū)ο笠拙S護(hù)、易復(fù)用、易擴(kuò)展。面向?qū)ο蟮膬?yōu)點(diǎn)是易維護(hù)、易復(fù)用、易擴(kuò)展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可以設(shè)計(jì)出低耦合的系統(tǒng),使系統(tǒng)更加靈活、更加易于維護(hù)。缺點(diǎn)是性能比面向過(guò)程低。
3.對(duì)象是什么?類又是什么??jī)烧哂惺裁搓P(guān)系?
對(duì)象:
對(duì)象是人們要進(jìn)行研究的任何事物,從最簡(jiǎn)單的整數(shù)到復(fù)雜的飛機(jī)都可看作對(duì)象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件等。
類:
具有相同特性的(數(shù)據(jù)元素)和行為(功能)的對(duì)象的抽象就是類。比如”人“、”飛機(jī)“、”鳥“
等,這些就是抽象的類,當(dāng)他們具體到某個(gè)人,某架飛機(jī)和某只鳥時(shí),就會(huì)有具體的人名,機(jī)架號(hào),鳥名。
關(guān)系:
對(duì)象的抽象是類,類的具體化就是對(duì)象。也可以說(shuō)類的實(shí)例就是對(duì)象,類實(shí)際上就是一種數(shù)據(jù)類型,它用數(shù)據(jù)結(jié)構(gòu)來(lái)描述類的屬性。
4.怎么定義一個(gè)類?
a)類一般有幾個(gè)組成部分:類型名稱、屬性、方法
b)通過(guò)class關(guān)鍵字,來(lái)定義一個(gè)自定義類型
c)通過(guò)__init__()函數(shù),來(lái)初始化類的屬性數(shù)據(jù)
d)通過(guò)普通函數(shù),定義類的行為方法
5.怎么創(chuàng)建一個(gè)對(duì)象?
a)和執(zhí)行函數(shù)一樣,直接通過(guò)類的名稱,來(lái)創(chuàng)建對(duì)象,如:u?=Users()
6.創(chuàng)建的對(duì)象,怎么使用對(duì)象的屬性?
a)對(duì)象的屬性,可以直接通過(guò)對(duì)象的引用變量.屬性名稱來(lái)使用,如u.username
7.創(chuàng)建的對(duì)象,怎么使用對(duì)象的方法?
a)對(duì)象的方法,可以直接通過(guò)對(duì)象的引用變量.方法名稱()來(lái)調(diào)用方法
8.創(chuàng)建對(duì)象的過(guò)程是什么?
a)首先,創(chuàng)建對(duì)象,會(huì)調(diào)用對(duì)象的__new__()函數(shù),來(lái)申請(qǐng)內(nèi)存,創(chuàng)建對(duì)象(過(guò)程中是如此,但程序中通通常不用寫__new__()函數(shù))
b)其次,給創(chuàng)建好的對(duì)象,初始化對(duì)象的數(shù)據(jù),自動(dòng)調(diào)用__init__()函數(shù),給對(duì)象的屬性賦值
9.創(chuàng)建好的對(duì)象,賦值給了一個(gè)變量,變量是什么類型?存放的是什么數(shù)據(jù)?
a)變量=類名稱()創(chuàng)建了一個(gè)對(duì)象,將對(duì)象的引用地址((在內(nèi)存中的地址),賦值給了變量
b)變量(內(nèi)存地址)-->堆內(nèi)存中的對(duì)象
c)type(變量) -->類類型