転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

C#を勉強する①_継承の基礎を理解する。

自分はUnityでゲームを作っている。つい先日も、新しいゲームをリリースした。 uuc1h.hatenablog.jp UnityではC#の言語が採用されているので、必然的にC#の知識が必要になってくる。 普段の業務ではJavaを使っているので、なんとなくC#も書けるがやはり1から学び直しておきたい。ということで、C#について、基礎から学ぶことにした。勉強内容を、本ブログに記録していく。

C#での継承について

Javaと違う点として、継承がある。C#の方が記載が簡単。

public class Employee : Person{
    public int Id { get; set; }
    public string DivisionName { get; set; }
}

継承先のクラス名:継承元のクラス名(基底クラス)と記載する。
そして、継承の時にはis a 関係も考慮する必要がある。
上のソースの「人間クラス」、「社員クラス」を例とすると、「社員は人である」が成立するため上記のような継承が成立する。
逆に、「人は社員である」という関係は成り立たないため、

public class Person : Employee

という継承は使わない。

また、is a 関係から、以下のような形も可能。

// Employeeクラス特有のプロパティなどは利用不可
Person person = new Employee();

しかし、逆の代入は不可。

Employee emp = new Person();