c 面對物件繼承

2021-10-02 14:13:24 字數 2052 閱讀 3790

可以認為類是屬於命名空間的

如果在當前專案中沒有這個類的命名空間,我們需要手動匯入這個類所在的命名空間

alt+shift+f10 快捷鍵

在乙個專案中引用另乙個專案的類

1.新增引用

2.引用命名空間

區別:1.值型別和引用型別在記憶體上儲存的地方不一樣。

2.在傳遞值型別和傳遞引用型別的時候,傳遞的方式不一樣。

值型別我們稱之為值傳遞,引用型別我們稱之為引用傳遞。

值型別:int 、double、 bool、 char、 decimal、 struct、 enum

引用型別:string、自定義類、陣列

儲存:值型別的值儲存在記憶體的棧當中

引用型別的值是儲存在記憶體的堆當中

1.字串的不可變性

當你給乙個字串重新賦值之後,老值並沒有銷毀,而是重新開闢一塊空間記憶體進行賦值

當程式結束後,gc(釋放記憶體)掃瞄整個記憶體,如果發現有的空間沒有被指向,則立即把它銷毀

2.字串可以看做是乙個char型別的乙個唯讀陣列

tochararray(); 將字串轉換為char陣列

new string (char chs):能夠將char陣列轉換為字串

1.length:獲得當前字串字元的個數

2.toupper():將字元轉換成大寫形式

3.tolower():將字元轉換成小寫形式

4.equals(lessontwo,stringcomparison.ordinalignorecase):比較兩個字串,可以忽略了大小寫

5.split():分割字串,返回字串型別的陣列

6.substring():擷取字串,在擷取的時候包含要擷取的那個位置

7.indexof():判斷某個字元在字串中第一次出現的位置,如果沒有返回-1、值型別和引用型別在記憶體上儲存的地方不一樣

8.lastindexof():判斷某個字元在字串中最後一次出現的位置,如果沒有同樣返回-1

9.startswith():判斷以…開始

10.endwith():判斷以…結束

11.replace():將字串中某個字串替換成乙個新的字串

12.contains():判斷某個字串是否包含指定的字串

13.trim():去掉字串中前後的空格

14.trimend():去掉字串中結尾的空格

15.trimstart():去掉字串前面的空格

16.string.isnullorempty():判斷乙個字串是否為空或者為null

17.sting.join():將陣列按照指定的字串連線,返回乙個字串

我們可能會在一些類中,寫一些重複的成員,我們可以將這些重複的成員,單獨的封裝到乙個類中,作為這些類的父類

子類繼承父類的屬性,方法,但是沒有繼承私有字段

子類沒有繼承父類的建構函式,但是可以呼叫父類無引數的建構函式

如果在父類中重新寫了乙個沒有引數的建構函式之後,那個無引數的就被乾掉了

子類呼叫不到,所以子類會報錯

解決辦法:

1.在父類中重新寫乙個無引數的建構函式

2.在父類中顯示的呼叫父類的建構函式,使用關鍵字:base()

1.繼承的單根性:乙個子類只能有乙個父類

2.繼承的傳遞性

object是所以類的基類

1.建立物件

2.隱藏從父類那裡繼承過來的同名成員

隱藏的後果就是子類呼叫不到父類的成員

1.子類可以賦值給父類

2.如果父類中裝的是子類物件,那麼可以講這個父類強轉為子類物件

子類物件可以呼叫父類的成員,但是父類物件永遠都只能呼叫自己的成員

is:表示型別轉換,如果能轉換成功,則返回乙個true,否則返回乙個false

as:表示型別轉換,如果能夠轉換則返回對應的物件,否則返回乙個null

受保護的:可以在當前類的內部以及該類的子類中訪問

在鍵值對集合中,我們是根據鍵去找值

鍵值對物件[鍵]=值;

鍵值對集合中,鍵必須是唯一得,而且是可以重複的

迴圈列印hastable集合的值

執行速度比for迴圈高幾倍

python 面對物件 繼承

私有屬性和方法通過在屬性和方法名前新增 得到。私有屬性和方法是物件的隱私,不能通過外界和子類直接訪問 在外界無法訪問到私有屬性和方法 不能直接print列印 可以通過在物件的方法內部訪問私有屬性 子類物件可以通過父類的公有方法間接訪問到私有屬性或私有方法 eg classa def init sel...

面對物件繼承之組合繼承

組合繼承 1.所有不需要共享的例項屬性使用call來繼承 2.所有需要共享的屬性通過原型鏈繼承 把兩者結合到一起成為組合繼承 優點 既可以讓共享的屬性只保留乙份,又可以讓不需要共享的屬性每個物件都有 function animal animal的原型屬性 animal.prototype.shake...

js的面對物件,繼承

js是乙個基於物件的語言,在es6之前,js是使用了建構函式來模擬類,使得js也可以面對物件來程式設計,es6中加入了類的定義 通過字面量的方式建立 let obj 例項化物件建立物件 let person newobject person.name 小明 person.age 12 工廠模式建立物...