DAO質押挖礦模式dapp開發(功能邏輯詳情)

aa111111發表於2023-09-18

1、物件導向的思想

   anything is an Object(萬物皆物件)

   符合人們客觀看待世界的規律

  

2、抽象,從對具體的物件中抽取有用資訊。

   物件有其固有屬性,物件的方法,即物件的行為(物件能做什麼)

   物件本身是簡單的(功能簡單),多個物件可以組成複雜的系統(物件之間彼此呼叫對方的方法)


3、物件導向的優點 

   1)物件應當是各司其職(功能簡單),各盡所能(把自己的功能作到最好)。(弱耦合性實現了前面所述的物件的特點)                                      

   2)物件的耦合性,是物件之間的聯絡,物件和系統之間的聯絡。

      物件的耦合性要儘量的弱,也就是物件之間的聯絡儘可能的弱,物件和系統之間的聯絡儘可能的弱。

      弱耦合性要透過一個標準來實現

   3)可重用性

      物件的功能越簡單,複用性就越好。(物件的耦合性弱,複用性就比較強)

   4)可擴充套件性

      系統的可插入性,是在系統中加入新的物件之後的系統穩定性。

      物件的可替換性,是在系統中替換原有的物件之後的系統的穩定性。

     

4、程式導向和麵向物件的比較

   程式導向是先有演演算法,後又資料結構 --- (怎麼解決問題)

   物件導向是先有物件(資料結構),後有演演算法(物件間的方法呼叫) --- (用什麼做)

  

5、類的定義

  1)屬性

     型別  變數名; --> 例項變數,系統賦初始值

                 預設值         使用範圍          命名衝突

     例項變數  系統賦初始值   在類的內部使用   允許例項變數和區域性變數發生命名衝突,變數的值->區域性優先

     區域性變數  先賦值後使用   定義他的程式碼塊   同範圍內不允許兩個區域性變數發生命名衝突


  2)方法的定義:

   不允許方法的宣告和實現分開

   方法宣告的組成:

   (a)方法的修飾符(0或多個修飾符出現的順序無關) |

   (b)方法的返回值型別                            |順

   (c)方法名                                      |序

   (d)方法的引數列                                |向

   (e)方法中允許丟擲的異常                        |下

                                                  V       

6、方法的過載

   java中方法的過載(overload)方法名相同,引數列不同(個數,型別,排列順序),其他部分可以不同。

   呼叫時要給出明確引數並確定呼叫某一方法。在編譯時,編譯器會根據引數選擇適當的方法,所以過載也叫編譯時多型。                                                                                                     

   ** 方法的過載可以遮蔽一個物件同一類方法由於引數不同所造成的差異 **

  

   向上就近匹配原則

   如果方法的引數列中的資料型別和呼叫時給出的引數型別不盡相同時會根據向上匹配的就近原則。(型別就近向上轉化匹配)

  

    public void m(byte a,short b){

       System.out.println("m(byte,short)");

    }


    public void m(short a,byte b){

       System.out.println("m(short,byte)");

    }

    此時若用2個byte作為引數呼叫m()方法,編譯會出錯,因為按照向上就近匹配原則,提升哪個都可以,出現語義不明確的錯誤


7、構造方法

  1)方法名與類名相同,無返回值

  2)系統提供預設無參的,空的構造方法

  3)若自定義一個有參的構造方法,則系統將不提供無參的,空的構造方法

  不能手工呼叫,在一個物件的生命週期中,只會被呼叫一次

 

8、物件的建立

   Java在堆中建立物件的過程:

    1)分配空間

    2)初始化屬性,若宣告例項變數的時候沒有初始化,用預設值初始化屬性

    3)呼叫某個構造方法(前提:不考慮繼承關係)

   

    Student s;  //宣告一個Student類的物件變數

    s = new Student();  //呼叫Student類的無參的構造方法,建立一個物件,把這個物件的地址賦給一個Student類的引用

    (引用指向了這個物件,引用中儲存物件的首地址,以後都是透過引用訪問這個物件的屬性和方法)

   

    s.age    s引用所指向的物件的age屬性


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

相關文章