継承
継承(inheritance)とは既に定義されているクラスを元に、その性質を受け継ぎ、拡張や変更を加えて新しいクラスを作成することです。
このとき、元になったクラスを「親クラス」(parent class)「スーパークラス」(superclass)「基底クラス」(base class)などと呼び、
新たに定義されたクラスは「子クラス」(child class)「サブクラス」(subslass)「派生クラス」(derived class)などといいます。
継承の記述例
ここでは Person という人物に関する情報を定義したクラスを継承し、 クラスの Employee という社員に関する情報を定義したクラスを作成しています。
Employeeクラス は Personクラス の FamilyName や Phonetic 等のプロパティ、GetAgeのメソッドを利用することが出来ます。
// inheritance program in C#.
using System;
namespace EFnote
{
public class Person
{
public enum GenderType { Male, Female, Other };
public string FamilyName { get; set; } // 姓
public string FirstName { get; set; } // 名
public string Phonetic { get; set; } // ふりがな
public GenderType Gender { get; set; } // 性別
public DateTime Birthday { get; set; } // 生年月日
public int GetAge()
{
DateTime now = DateTime.Today;
int age = now.Year - this.Birthday.Year;
// 誕生日がまだ来ていなければ、1引く
if (now.Month < this.Birthday.Month ||
(now.Month == this.Birthday.Month &&
now.Day < this.Birthday.Day))
{
age--;
}
return age;
}
}
public class Employee : Person
{
public int Code { get; set; } // 従業員コード
public string Position { get; set; } // 役職
public double Evaluation { get; set; } // 評価
}
}