実現したいこと
- 継承について理解する
- 継承について書かれている記事への理解(あとで貼ります)
前提
ここに質問の内容を詳しく書いてください。
(例)
C#で数字を当てるゲームを作ってます。
継承を実装中していましたがprotectedの理解できなくなりました。
発生している問題・エラーメッセージ
C#
1まだありません
該当のソースコード
namespace HitAndBlow { public class VariableStorageClass { public byte[,] question; public List<byte[,]> answer; public byte[,] solution; public VariableStorageClass() { this.question = new byte[3,3]; this.answer = new List<byte[,]>(); this.public byte[,] solution; } } }
namespace HitAndBlow { public class HistoryItemClass : ProcessClass { public HistoryItemClass() { InitializationFunction(); } } }
namespace HitAndBlow { public partial class MainForm : Form { ProcessClass gameMatch; public MainForm() { gameMatch = new ProcessClass(); InitializeComponent(); } } }
試したこと
※protectedについて調べましたがわかりませんでした。protectedの『使える 状況・使い方』を知りたいです。
アクセシビリティ レベル MSLearn
未確認飛行 C コンストラクター
未確認飛行 C 継承
補足情報(FW/ツールのバージョンなど)
OS:Windows11
VisualStudio2022
ターゲットフレームワーク:.NET 9.0
> 該当のソースコード
これが提示されている意味ってなんですか? protected とか見当たらないし?
コメントありがとうございます。protectedについて存じておらず、調べましたがよく理解できませんでした。
参考サイト等があれば教えていただけますでしょうか?
現在、VariableStorageClass を親としており、子をHistoryItemClass。
子にあたるHistoryItemClassをメインでgameMatchとして宣言しております。
つまり、親にあたる変数、関数をprotected修飾子してしまっても良いか皆さんに見ていただいていると思っていただけたら幸いです。
何卒宜しくお願い致します。
また違和感があれば教えてください。宜しくお願い致します。
@質問者 turnberryさん
プロフィール欄を見ると12歳(C#に挑戦、すごいですね)、過去のご質問の内容からすると初心者の方だと思いますが、「初心者」マーク(自動車で付ける若葉マーク)を付けると良いと思います。
> protectedについて存じておらず、調べましたがよく理解できませんでした。
こういうことは反対に、自分でその必要性を感じないとなかなか理解できないです。疑問に思って質問することはとても良いと思うのですが、継承とか考え方の疑問は、たくさんプログラミングをして必要になったときにやっとピンときたり分ることも多いので、最初から高度なことをしなくてもいいんじゃないかなぁ、とも思いますよ。
とのことですが、継承の必要性がピンとくるには
> してしまっても良いか
これは結局,「何をどうしたいのか次第」になるので……
回答として書いてみましたが.
dodox86さん
ありがとうございます。継承難しいです。
ベースA・BをCに継承させたい。ですができないなどつらいです。
fanaさん
いつもお世話になっております。
何をどうしたいか次第
となっておりますが、回答もいただいているので、こういう路線ではないかと意図を読んでいただけるとこちらとしても大変助かります。
回答で、こちらは違いこうしたかったです。というと上にある質問回答と問題への質問回答(BA?)への回答など時間短縮になり助かります。
今回の場合なのですが、今回は継承は親と子というで
二人の親を一人の子に継承させることはできず、
一人の親に一人の子で継承させていきます。
親のVariableStorageClass の中にある変数にprotectedつけたいのですが、
これprotectedつけてもつけなくても変わりあるのかわからず、どのようになるのか想像できません。
これでイメージをつけていただけたでしょうか。文章が長くなり大変申し訳ございません。
読んでいただきありがとうございます。

回答4件
あなたの回答
tips
プレビュー