物件導向中的類,物件以及物件導向的封裝特點

2021-08-11 23:06:19 字數 2212 閱讀 1823

物件導向和面向過程

面向過程是指一步一步地描述做事情的過程,強調的是事情的過程.

物件導向具體的是找到乙個物件,然後讓物件去做事情,強調的是這個物件.

物件導向是將複雜的問題簡單化,將事情的執行者變成指揮者,並且物件導向的思想是比較符合人類思考問題的思想,這種思想又被稱為懶人思想.

物件導向有三大特點:封裝,繼承,多型.

例如:我吃飯

面向過程的思想就是首先我先去買一些做飯的材料,然後做好飯,然後開始吃飯.

面對物件的思想就是我先去找乙個會做飯的人,然後讓這個人幫我去做飯.

類和物件

類是指一類抽象事物的集合,是來描述一類事物的.

物件是由類建立出來的具體的事物

類的建立形式: 系統關鍵字class 類名,要注意的是乙個檔案中只能有乙個由關鍵字public class修飾的類,並且乙個檔案中可以有多個類,乙個類一般會有成員變數和成員方法.

物件的建立形式: 類名 物件名稱 = new 類名();

並且可以通過該物件呼叫類中的成員變數,方式是 物件名稱.成員變數

建立乙個student類 ,然後在main函式中建立乙個該類的物件

public

class studentdemo

class student

}

例:建立乙個person類,並宣告兩個person類物件,並分析一下,倆物件在記憶體中的表現

類中的區域性變數和成員變數區域性變數和成員變數的區別

1.書寫的位置不同:區域性變數要解除安裝類的方法中或者方法的宣告中,成員變數要寫在類以內函式以外;

2.初始化不同的:區域性變數是必須初始化的,成員變數是可以不初始化的,當然成員變數在類中宣告的時候是可以先賦初值的;

3.記憶體存在的位置不同:區域性變數是存在棧記憶體中的,成員變數時存在堆記憶體中的

4.生命週期不同:區域性變數是隨著函式的壓棧而開始,隨著函式的彈棧而結束,成員變數是隨著物件的生成而開始,隨著物件的**而結束

public

class test01

}class person

}

注意:這裡結果輸出的是: 張三->18,為什麼會這樣?這是因為就近原則,name在取值的時候,先找方法中名字為name的值,再去類中找,所以為了避免這種情況,我們要在name前面加上關鍵字this,保證name的值是成員變數中的值

system.out

.println(this.name + "->" +age);

匿名物件匿名物件就是指在初始化的時候並未命名的物件

new person();//匿名物件

new person().sayhi;//匿名物件呼叫person類中的方法

new person().sayhi;//匿名物件呼叫person類中的方法

要注意的是,上面兩個方法中的匿名物件並不是同乙個物件,因為new關鍵字每走一次就會建立一篇記憶體區域.

物件導向中的封裝

封裝是指把屬性和方法的具體實現給隱蔽起來,提供公開訪問的方法

屬性的私有化就是其中一種封裝的表現形式

屬性的私有化就是將成員變數通過系統關鍵字private的修飾,使外界無法訪問到

class person

}

這樣在類以外就無法訪問到name了,但是如果我們想在類的外面訪問並修改私有化的屬性,就需要通過在類中寫一些藉口來進行修改了.

我們可以在類中寫乙個get 和set方法,來方便外界進行訪問和修改

class person

public string getname() //get方法來訪問name

public

void

setname(string name)//set方法來修改name

}

物件導向以及類和物件

四 類和類之間的關係 五 物件導向的分析過程 面向過程 強調過程步驟 物件導向 強調的是物件 分析過程 先有物件後有類 編碼過程 先有類後有物件 類 是具有相同屬性和行為的物件的集合 模板 定義了物件的屬性和方法 物件 根據類的屬性和行為建立的例項化 lei 通過類可以例項化多個該類的物件,每個物件...

Java物件導向 類,物件

oop,object oriented programming,物件導向程式設計 面向過程 以功能行為為主體的思想體現。物件導向 以執行功能的物件為主體的思想體現。物件導向特徵 封裝 隱藏內部實現,穩定外部介面。繼承 子類繼承父類成員,實現 復用。多型 不同子類對同一訊息作出不同的反映。具有相同屬性...

物件導向 類與物件

物件導向是相對於面向過程而言的,具體的來說,比如 我們想要吃一頓午飯,我們親自買菜,洗菜.切菜,炒菜,煮飯,這樣做成一桌菜就叫面向過程,也就是說整個過程 你都親自完成,而 物件導向呢?點外賣 點一桌子菜和公尺飯 不管他咋做出來的 面向過程程式設計 就是 我們想要實現乙個功能 直接去呼叫別人寫好的功能...