継承

継承(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; }  // 評価
    }
}

Last updated:2017/08/11
Author:efn

';