備忘録
- 継承:あるクラスの機能を全てもらうこと
- サブクラス:継承している
- サブクラスから親クラスの機能を使う場合はbaseを使う。baseが継承している継承元のメンバーが見える
- 自分のクラスのメンバーを使うときはthisを使う
- サブクラスではスーパークラスのコンストラクタを呼ばないとサブクラス自体が作れない
- サブクラスはスーパークラスが出来た上でサブクラスができる
- スーパークラスのコンストラクタを通してからサブクラスをnewする
- overrideキーワードを活用。書き換えるという意味
- スーパークラス:継承されている
- virtualキーワードを活用。書き換えても良いという意味
- 多重継承は禁止
- ポリモーフィズム:オブジェクト指向の肝。インターフェースと抽象クラスの2つがある
- オーバーライド:継承関係にあるときに使う。
- (例:スーパークラスの中身を変更したいとき、サブクラス側で上書き)
- サブクラス:継承している
# A2:サブクラス A1:スーパークラス
#継承元のA1のコンストラクタを呼んでからA2はA1の機能をフルで使える
class A2 : A1
{
public A2(int value) : base(value)
{
base.protected value = 3;
}
}
以下はインターフェースのコードです
public interface IDatabase
{
void save(); //アクセス修飾子はつけない。定義だけを書く
}
インターフェースは定義だけがあって実装の強制をします