new是通過在派生類中聲明新的與基類具有相同函數(shù)簽名的方法從而屏蔽基類的函數(shù)成員,override是在派生類中重寫基類中聲明為virtual的方法,兩者的區(qū)別在于,如果要實(shí)現(xiàn)派生類中new的新方法,那么需要定義的是指向派生類的引用的派生類的實(shí)例,而override是用于指向派生類的基類引用場(chǎng)景
2018-05-08
就是剛開始接觸才會(huì)有點(diǎn)迷糊吧,找?guī)讉€(gè)例子多練習(xí)一下就好了,熟能生巧嘛
2018-04-26
已采納回答 / CashQQJ
題主所指的new是子類里隱藏父類方法的關(guān)鍵字,不是新建實(shí)例關(guān)鍵字。virtual是虛函數(shù)關(guān)鍵字,修飾父類里的函數(shù),子類可以用override重寫該函數(shù)。virtual一般用在父類里,new一般用在子類里,其是成員修飾符。public是訪問修飾符,用來限制訪問權(quán)限。在c#里還有一種修飾符是類修飾符,例如:abstract。書寫順序習(xí)慣上一般是:訪問修飾符 + 類修飾符,或者:成員修飾符 +?類修飾符但是不按照上面的順序書寫,編譯器也不會(huì)報(bào)錯(cuò),只是不太常用而已。
2018-04-18