[Day9]面向对象
1.面向過(guò)程與面向?qū)ο?/p>
(1)面向?qū)ο笏季S方式是一種更符合人們思考習(xí)慣的思想
(2)面向過(guò)程思維方式中更多的體現(xiàn)的是執(zhí)行者,而面向?qū)ο笾懈嗟捏w現(xiàn)的是指揮者
(3)面向?qū)ο笏季S方式將復(fù)雜的問(wèn)題簡(jiǎn)單化
?
2.類(lèi)與對(duì)象
(1)定義類(lèi)的格式
public class 類(lèi)名 {
??? //可編寫(xiě)0至n個(gè)屬性
??? 數(shù)據(jù)類(lèi)型 變量名1;
?? ? 數(shù)據(jù)類(lèi)型 變量名2;
???
??? //可編寫(xiě)0至n個(gè)方法
??? 修飾符 返回值類(lèi)型 方法名(參數(shù)){
??? 執(zhí)行語(yǔ)句;
}
}
(2)屬性和功能統(tǒng)稱(chēng)為事物中的成員
事物的成員分為兩種:成員屬性和成員功能;成員屬性->成員變量,成員功能->成員方法
(4)類(lèi)是某一類(lèi)事物的抽象描述,而對(duì)象用于表現(xiàn)現(xiàn)實(shí)中該類(lèi)事物的個(gè)體。
(5)局部變量和成員變量的區(qū)別
1.定義位置上的區(qū)別
? 成員變量,定義在類(lèi)中,方法外
? 局部變量,方法內(nèi),語(yǔ)句內(nèi)
?
? ? 2.作用域不同
? 成員變量,作用范圍是整個(gè)類(lèi)
? 局部變量,方法內(nèi),語(yǔ)句內(nèi)
3.默認(rèn)值不同
? 成員變量,有自己的默認(rèn)值
? 局部變量,沒(méi)有默認(rèn)值,不賦值不能用
?
4.內(nèi)存位置不同
? 成員變量,跟隨對(duì)象進(jìn)入堆內(nèi)存存儲(chǔ)
? 局部變量,跟隨方法進(jìn)入棧內(nèi)存
?
? 5.生命周期不同
? 成員變量,跟隨對(duì)象,在堆中存儲(chǔ),內(nèi)存等待JVM清理,生命相對(duì)較長(zhǎng)
? 局部變量,跟隨方法,方法出棧,生命相對(duì)較短
?
3.封裝
(1)面向?qū)ο蠊灿腥齻€(gè)特征:封裝,繼承,多態(tài)
(2)封裝的好處:
1、提高了代碼的復(fù)用性。
?? 2、隱藏了實(shí)現(xiàn)細(xì)節(jié),還要對(duì)外提供可以訪(fǎng)問(wèn)的方式。便于調(diào)用者的使用。這是核心之一,也可以理解為就是封裝的概念。
3、提高了安全性。
(3)類(lèi)中不需要對(duì)外提供的內(nèi)容都私有化,包括屬性和方法。以后再描述事物,屬性都私有化,并提供setXxx getXxx方法對(duì)其進(jìn)行訪(fǎng)問(wèn)。
(4)私有僅僅是封裝的體現(xiàn)形式
?
4.this關(guān)鍵字:區(qū)分成員變量和局部變量
轉(zhuǎn)載于:https://www.cnblogs.com/ERFishing/p/10461297.html
總結(jié)
以上是生活随笔為你收集整理的[Day9]面向对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【问题解决方案】ImportError:
- 下一篇: Python列表List