互助搶單dapp模式系統技術開發(現成原始碼搭建)

aa111111發表於2023-09-18

什麼是物件:EVERYTHING IS OBJECT(萬物皆物件)

所有的事物都有兩個方面:

有什麼(屬性):用來描述物件。

能夠做什麼(方法):告訴外界物件有那些功能。

後者以前者為基礎。

大的物件的屬性也可以是一個物件。


為什麼要使用物件導向:

首先,物件導向符合人類看待事物的一般規律。

物件的方法的實現細節是遮蔽的,只有物件方法的實現者瞭解細節。

方法的定義非常重要。方法有引數,也可能有返回值。

注意區分:物件(本身)、物件的實現者、物件的呼叫者。

分析物件主要從方法開始。

我們透過類來看待物件,類是物件的抽象。


其次,採用物件導向方法可以使系統各部分各司其職、各盡所能。

物件之間的耦合性一定要低(比如不同硬碟和不同主機板之間的關係)。這樣才能使每個物件本身做成最好的。


對於物件的要求:高內聚、低耦合,這樣容易拼裝成為一個系統。

實現高內聚就是要最大限度低提高複用性(複用性好是因為高內聚)。

可複用性是OOP的基礎。


比較程式導向的思想和麵向物件的思想:

程式導向的思想:由過程、步驟、函式組成,以過程為核心;

物件導向的思想:以物件為中心,先開發類,得到物件,透過物件之間相互通訊實現功能。

程式導向是先有演演算法,後有資料結構。

物件導向是先有資料結構,然後再有演演算法。


在用物件導向思想開發的過程中,可以複用物件就進行復用,如無法進行復用則開發新的物件。

開發過程是用對個簡單的物件的多個簡單的方法,來實現複雜的功能 。

從語法上來看,一個類是一個新的資料型別。

在物件導向程式設計中,除了簡單資料型別,就是物件型別。

定義類的格式:

class  Student{

  程式碼

}

注意類名中單詞的首字母大寫。

例項變數:定義在類中但在任何方法之外。(New出來的均有初值)

區域性變數:定義在方法之中的變數。

區域性變數要先賦值,再進行運算,而例項變數均已經賦初值。這是區域性變數和例項變數的一大區別。

例項變數的物件賦值為null。

區域性變數不允許範圍內定義兩個同名變數。例項變數的作用域在本類中完全有效,當被其他的類呼叫的時候也可能有效。

例項變數和區域性變數允許命名衝突。


書寫方法的格式:

修飾符   返回值       方法名           呼叫過程中           方法體

可能出現的例外

public  int/void   addNumber(引數)    throw Excepion          {}


例:

public  int  addNumber(int a,int b){

}

注:方法名中的引數int a,int b為區域性變數


類方法中的一類特殊方法:構造方法。

構造方法是當用類生成物件時,系統在生成物件的過程中利用的方法。

注意:構造方法在生成物件的時候會被呼叫,但並不是構造方法生成了物件。

構造方法沒有返回值。格式為:public 方法名。

構造方法的方法名與類名相同。

構造方法是在物件生成的過程中自動呼叫,不可能利用指令去呼叫。

在一個物件的生成周期中構造方法只用一次,一旦這個物件生成,那麼這個構造方法失效。


用類來生成物件的語句:

Student  s=new Student()。

第一個Student表示這是用Student類進行定義。“Student()”表示呼叫一個無引數的構造方法。

如果()中有引數,則系統構造物件的過程中呼叫有參的方法。

此時S稱為一個物件變數。

Student  s的儲存區域存放的是地址:一個物件在硬碟上佔有一個連續地址,首地址賦予s空間。

S稱為物件Student的引用。

注意:在物件變數中存放的是引用(地址);在簡單變數中存放的是數值。


可以構造多個構造方法,但多個構造方法的引數列一定不同,引數順序不同即屬於不同的構造方法:

public student(string name,int a){

}

public student(int a,string name){

}

為兩個不同的構造方法。

如果我們未給系統提供一個構造方法,那麼系統會自動提供一個為空的構造方法。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010128/viewspace-2984180/,如需轉載,請註明出處,否則將追究法律責任。

相關文章