java的物件導向程式設計一

2021-07-16 15:45:26 字數 2518 閱讀 3328

舉例:寫乙個程式,實現如下功能:

一群寵物,寵物有各種型別,如貓、狗、企鵝等

讓這群寵物,按照各自的能力不同,進行各種比賽(如爬樹、游泳、跳水);擴充套件性需求: 游泳比賽游泳池的引數、飛盤的大小和重量等

1.首先從裡面抽象出名詞性的概念(需求分析,抽取概念模型)

寵物、貓、狗、企鵝、比賽、能力、寵物型別

2. 把名詞抽象成相應的class,或class的屬性

3.提取動詞 -------------------- 把這些動詞,抽象成物件的行為

爬樹、游泳、跳水

類和物件的關係

類是用於描述同一類的物件的乙個抽象的概念,類中定義了這一類物件所具有的靜態屬性和動態屬性

類可以看成一類物件的模板,物件可以看成該類的乙個具體例項。

下面看一段**

package com.chen.biz;

/** * 構建了乙個寵物類

* *@author 陳家小哥

* */

public

class

pet

/*** 方法

* 寵物都可以玩遊戲

*@param pet

*/public

void

playgame(pet pet)

}

建構函式:

建立乙個物件,必須呼叫它的建構函式。當乙個類中沒有建構函式時,會自動生成乙個空的建構函式。 建構函式的作用:

給成員變數進行初始化。如果沒有給成員變數初始化,系統會分配預設值給這些成員變數。

常量:永遠不會改變(static final)

編譯期常量(static final)—————————在程式編譯的時候,所有呼叫常量的位置,都被常量代表的值所替換 , 最大的好處是節省記憶體

程式執行期常量(final):一次賦值之後,永遠不能改變

常量的命名一定要大寫 ,如名字較長,用下劃線進行間隔 ***_male

變數

1.區域性變數:通過引數傳入或者在方法中定義

public

void

play(string name)

區域性變數的作用域是該變數所在的{} 。

區域性變數的生命期

基本型別:超出區域性變數定義的{},就會被標識為無效,等待gc來**。

引用型別:超出區域性變數定義的{},會引用計數-1,如果引用計數為0,就會被gc下次掃瞄時**。

2.成員變數(物件變數)

成員變數是定義咋方法外的變數。

public

class

pet

}

成員變數的作用域:就是所在class內的所有方法

成員變數的生命期:與它所在的物件的生命期一致

在沒有static靜態變數的情況下程式執行順序如下:

1.系統給屬性賦預設值

2.使用者在成員變數級直接賦預設值

3.在建構函式中對成員變數進行初始化。

static變數:

1.稱為類變數,它是所有物件共享的記憶體;

2.不需要類的例項,可以直接通過類的名字呼叫。

3.作用域類似於全域性變數

4.在第一次呼叫這個變數時,分配記憶體。

下面是幾個小例子:

public

class

test

}

ublic class test 

}

public

class

test

}

public

class

test

package com.chen.test;

/** * 說出輸出順序

*@author 陳家小哥

* */

public

class

test

extends

a

public

test()

public

static

void

main(string args)

}class a

}輸出結果:

5555

1111

5555

2222

3333

7777

解釋:當類被載入時,先初始化靜態的變數,輸出5555和1111,然後呼叫父類的建構函式,輸出5555,然後輸出2222,最後呼叫子類的建構函式,輸出子類的成員變數。

java物件導向程式設計

抽象及封裝 簡述抽象和封裝 1 為什麼使用物件導向?現實世界就是 物件導向的 世間萬物皆物件,物件導向就是採用 現實模擬 的方法設計和開發程式。2 物件導向設計的過程就是抽象的過程,分一下3步 1 發現類 2 發現類的屬性 3 發現類的方法 3 類圖 this通常指當前物件的引用,它可以呼叫當前物件...

java物件導向程式設計

物件導向程式設計 object oriented programming 簡稱oop 什麼是物件導向程式設計 世界萬物皆物件,一切都是物件!1,類 是對一類事物的抽象描述,注意 在程式裡面定義好乙個類以後,並不能真正的執行,如果要使類發揮效果執行起來,必須建立物件 類包含屬性和方法 構造方法 是在建...

java物件導向的程式設計

1 練習題 類的成員變數 猜數字遊戲 乙個類a 有乙個成員變數 v,有乙個初值 100。定義有乙個類,對 a類的成員變數 v進行猜。如果大了則提示大了,小了則提示小了。等於則提示猜測成功。package lei public class a void speedup this.speed speed...