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