默認構造函數是在面向對象編程中創建和初始化對象的專用方法。有多種構造函數,但默認構造函數除了創建和初始化對象外,還必須滿足兩個特定條件之一。它必須沒有參數,在這種情況下,它也可以被稱為空構造函數,或者它必須為它...
默認構造函數是在面向對象編程中創建和初始化對象的專用方法。有多種構造函數,但默認構造函數除了創建和初始化對象外,還必須滿足兩個特定條件之一。它必須沒有參數,在這種情況下,它也可以被稱為空構造函數,或者它必須為它能夠設置的所有參數指定默認值。如果程序員根本不指定構造函數,某些計算機語言會隱式指定默認的空構造函數。一旦編寫了任何類型的構造函數,不再指定默認的空構造函數,并且如果需要,必須顯式地編寫。對于允許面向對象繼承的計算機語言,Man holding computer,子類中的默認構造函數必須精確連接到超類中的構造函數。子類構造函數在執行特定于子類的任何操作之前必須調用超類構造函數,子類構造函數隱式調用超類默認空構造函數。如果超類默認空構造函數不存在,則無法正確生成子類對象。在這種情況下,子類仍然可以有兩種類型的默認構造函數,但必須正確調用可用的超類構造函數,可能是通過傳遞隱式生成一個默認的空構造函數的優點是減少了程序員必須指定和記錄的方法的數量,但也有可能使代碼維護和理解更加困難的缺點,一些程序員認為省略默認構造函數是一種不好的做法,而另一些程序員則不這么認為沒有什么可以阻止一個程序員遵守這些編程方法中的任何一個,所以在代碼中包含一個默認的空構造函數在很大程度上是程序員的一個風格選擇。如果構造函數被包括在內,大多數思想流派都規定它應該像任何其他方法一樣被注釋和記錄構造函數或方法應該是。任何默認構造函數都可以附加訪問修飾符,使構造函數成為公共的、受保護的或私有的。這將基于在其中指定構造函數的類賦予構造函數特定的功能。公共默認構造函數可用于從另一個類創建新對象,而受保護的構造函數只能從它自己的類和任何子類中調用。受保護的默認構造函數通常出現在繼承層次結構中。私有構造函數通常只在自包含類中使用,在自包含類中可以調用某種類型的工廠方法,而不是程序員
-
發表于 2020-08-07 13:48
- 閱讀 ( 864 )
- 分類:電腦網絡