物件導向程式設計思想實戰篇(1)

2021-10-06 05:33:23 字數 3473 閱讀 6244

講完了物件導向思想,我們需要用大量的**來去真正的理解它

希望各位看我部落格的初學者:先試著自己寫。熬一陣子,再看**。跟著**去寫

題目一、模擬實現乙個計算器:

//做任何的**設計不要馬上投入編寫

//先思考思考,寫完後一點點慢慢改進,這樣訓練之下你的**慢慢的,寫出來無論**規範還是耦合性都是盡可能最優良的

//乙個計算機不能是算完一次後你就得重啟,所以你的

//首先我們先設定4大加減乘除方法

public

class

computer

public

float

sub(

float a,

float b)

public

float

mut(

float a,

float b)

public

float

chu(

float a,

float b)

//可以一直計算 //程式執行完了就over//通過某種途徑讓程式一直執行---》死迴圈

//期間通過讀取到某些特地的字元讓**停止

//死迴圈

public

void

computlar()

switch

(sym)

system.out.

println

(a);

}// 我們使用者有乙個需求:需要一直處理得到的結果

}}

題目二:多型的理解(策略模式初識):

//多型真的很重要很重要很重要,他讓一組**變得非常靈活,一定程度上讓他能執行的所有型別物件。它也是封裝框架工具中肯定是最常用的思想

//了解多型之前你要清楚的了解繼承思想以及方法重寫

//下面我通過多型模擬各類人去商店的行為。

//記住多型的最大特性父類的引用指向子類物件,能呼叫父類屬性方法,以及子類重寫的方法。

public

abstract

class

person

public

class

poorman

extends

person

}public

class

richman

extends

person

}public

class

textmain

}//第一次執行的是poorman的方法

//第二次執行richman

//這裡,其實你執行的是同一方法,但因為放進去的物件不同(也叫做冊羅)導致了輸出不同,這就是策略模式的簡單效果

接下來就是方法間互相呼叫,好好理解,從arraylist封裝開始將其,雖然只涉及乙個類,對初學者來講以及很困難了

public

class

arraybox

public

arraybox

(int num)

//增加元素

public

boolean

add(

int element)

//集群增加

public

boolean

addall

(arraybox box)

size+=resource.length;

//這時候 容量肯定是夠的

//從size 位開始進行遍歷賦值

//呼叫內部的遍歷賦值方法???

return

true;}

//根據index位置刪除元素//為了安全起見刪除元素時候要

public

intremove

(int index)

elementdata[size]=0

; size--

;return reslut;

}//在特定位置set乙個值

public

intset

(int index,

int element)

//檢視元素(根據位置索引進行檢視)

public

intget

(int index)

//刪除

//一種是跟

//box得到所有的值

public

int[

]getall()

//得到某個特定值的位置

public

intindexof

(integer element)

}return-1

;}public

boolean

contains

(int element)

public

intlength()

//------------------------------------

//以下都是內部方法,我不想讓使用者看到

private

boolean

ensuresize

(int index)

return

true;}

private

void

ensurecapcity

(int newsize)

}//分析要擴容多少

private

void

anylisenewcapicaty

(int newsize)

this

.extendcapacity

(newcapacity);}

//擴容

private

void

extendcapacity

(int newcapacity)

//複製

private

void

copyof

(int size,

int[

] newelementdata)

elementdata=newelementdata;

}//toarray資料變成陣列

private

int[

]toarray()

//用來負責返回的方法

private

int[

]copyof

(int

elementdata,

int size)

return newelementdata;

}

public

class

arrayindexoutofbound***ception

extends

runtimeexception

public

arrayindexoutofbound***ception

(string msg)

}//自定義乙個異常

物件導向程式設計的思想(1)

此系列文章主要是為新手學習物件導向程式設計中的架構基礎,每次只有乙個原則,包括名稱 核心思想 例子及總結 名稱 單一職責原則 single responsibility principle srp 核心 系統中的每個物件都只應該有乙個單獨的職責,物件所關注的就是自身職責的完成。換言之 對乙個類而言,...

物件導向程式設計思想

舉個最簡單點的例子來區分 有一天要請客吃飯,怎麼辦?有兩個方法 1 買菜,買調料,買肉,買酒水,然後下廚房動手炒菜 2 去飯店,點個 看出來區別了嗎?方法1是面向過程,方法2是物件導向。物件導向有什麼優勢?首先不需要知道各種菜式是怎麼做的,降低了耦合性。如果突然想換 了,對於方法1可能不太容易,因為...

物件導向程式設計思想

所謂的物件導向,是一種程式設計思想,程式設計思路,的書寫格式,複雜程式的封裝,封裝成其他形式,使用物件導向的方式來封裝程式。物件導向 有封裝好的物件導向的的程式 直接呼叫執行就可以了 功能和作用類似於 封裝好的函式 但是 封裝的語法和思想與函式不同 物件導向的基本思想 基本思路就是,建立乙個物件,給...