C♯相談室 Part2
■ このスレッドは過去ログ倉庫に格納されています
0231デフォルトの名無しさん
NGNGclass DerivedOverride : Base {
internal override string CallMe() {
return "Override";
}
internal string ThisIsNotInBaseClass() {
return "Really?";
}
}
で、何も知らないBaseクラスの開発者が、↓こういうことしたら
どうなる?
class Base {
internal virtual string CallMe() {
return "Base";
}
internal virtual string ThisIsNotInBaseClass() {
return "Not really";
}
}
これが実装の継承の欠点の1つだ。C♯はこれを避けるためにnewを
導入した。↑のコードはC♯では警告になるよ。これがnewの意味ね。
正しく使いこなせるなら、virtual/overrideを避ける理由はないね。
■ このスレッドは過去ログ倉庫に格納されています