0


0

C#を使用したUMLマッピング

PersonとEmployeeの2つのクラスの画像があります:https://farm5.static.flickr.com/4102/4892446643_74d733cbc2.jpg [alt text]

c#コードにマッピングされたとき

public class Person
{
    private string Name;
}

public class Employee : Person
{
    private string Department;

    public string GetName()
    {
        return "Person Name";
    }
}

私の質問は、このプライベート属性のゲッターとセッターをどこで書くことができますか?マッピングに問題がなければ、同じPersonクラスとEmployeeクラスでそれらを書くことは問題ありませんか? メソッドも同じクラス(GetName())内にあるか、ゲッターとセッターを書くために別々のクラスを使用する必要があるので、コードとこのクラス図マッピングを混同しています。誰もこれを解決できますか?

1 Answer


1


まず、_getters / setters_アプローチではなく、_properties_アプローチをお勧めします。

私の考え:

public class Person {

    private string name;

    public string Name {
        get {
            return this.name;
        }
    }
}

public class Department {

    private int id;
    private string name;

    public int ID {
        get {
            return this.id;
        }
    }

    public string Name {
        get {
            return this.name;
        }
    }
}

public class Employee : Person {

    private Department department;

    public Department Department {
        get {
            return this.department;
        }
    }
}

`Employee.Name`はPersonクラス内で宣言されている従業員名を返します。