繼承是物件導向程式設計的最重要的概念之一,繼承允許我們根據乙個類來定義另外乙個類,這使得建立和維護應用程式更容易,同時也有利於**的重用和節省開發時間。
語法:[訪問修飾符] class 類名1(基類或父類)
[訪問修飾符] class 類名2(派生類或子類):類名1
object是所有類的基類。
//假設有乙個基類person,它的派生類是student
//基類
public
class person
//派生類
publuc class student:person
派生類繼承了基類的屬性和方法,但是並沒有繼承基類的私有字段。
派生類沒、有繼承基類的建構函式,但是,派生類會預設的呼叫基類無參的建構函式,建立基類物件,讓派生類可以使用基類的成員。所以,如果在基類中重新寫了乙個有引數的建構函式之後,那個無引數的就被乾掉了,派生類就呼叫不到了,所以派生類會報錯。
解決方法:
1)、在父類中重新寫乙個無引數的建構函式。
2)、在子類中顯示的呼叫父類的建構函式,使用關鍵字**:base()**
1、繼承的單根性:指的是乙個子類只能有乙個父類
2、繼承的傳遞性:
//我叫zhang,我是一名籃球愛好者,我的愛好的打籃球,我今年18歲了,我是男生
class
program
}public
class
person
//基類
set}
public
int age
set}
public
char gender
set}
public
person
(string name,
int age,
char gender)
}public
class
reporter
:person
//派生類
set}
public
reporter
(string name,
int age,
char gender,
string hobby)
:base
(name, age, gender)
public
void
reportersayhello()
,我是一名籃球愛好者,我的愛好是,我是生,我今年歲了"
,name,hobby,gender,age);}
}
new關鍵字的作用:
1、建立物件
2、隱藏從基類**繼承過來的同名的成員(同名隱藏),隱藏的後果就是派生類呼叫不到基類的成員
C 繼承學習筆記
派生類從基類繼承了保護 protected 成員和公有 public 成員函式,但是繼承不了基類的過載建構函式。定義乙個如下基類 class counter counter operator counter n void reset int getcount int getnum counter c...
C 學習筆記 繼承
一 c 中的繼承方式會影響子類的對外訪問屬性 public 修飾的成員變數 方法 在類的內部 類的外部都能使用 protected 修飾的成員變數方法,在類的內部使用,在繼承的子類中可用 private 修飾的成員變數方法,只能在類的內部使用 二 private成員在子類中依然存在,但是卻無法訪問到...
c 學習筆記 繼承
虛基類 派生類繼承的時候使用virtual關鍵字繼承的基類。個人認為叫 虛繼承 更為具體直觀。使用虛基類可以消除由多繼承產生的二義性。派生類可以隱含的轉換為基類,反之則不行。可以使用using語句繼承基類的建構函式,預設情況不繼承基類的建構函式。在即有繼承又有組合的時候,建構函式的呼叫順序為 先呼叫...