佐々木屋

技術的なことから趣味まで色々書きます

オブジェクト指向の導入

課題

手続き型でよく見る配列に情報を持つ場合(カンマ区切りなども含めて)があります。一番の問題は何番目に何のデータを保持しているのかが分かりにくいということです。これは非常に危険なデータの持ち方でもあります。

string[] person = new string[2];
person[0] = "山田太郎";
person[1] = "21";
person[2] = "090********";
Dim person(2) As String
person(0) = "山田太郎"
person(1) = "21"
person(2) = "090********"


リファクタリング

オブジェクト指向を導入することで一気に解決します。Personクラスをオブジェクトとして構築し、そこで管理させればよいのです。

public class Person {
    public string KanjiName { get; set; }
    public int Age { get; set; }
    public string Tell { get; set; }
}

Person p = new Person();
p.KanjiName = "山田太郎";
p.Age = 21;
p.Tell = "090********";
Public Class Person
    Public Property KanjiName As String
    Public Property Age As Integer
    Public Property Tell As String
End Class

Dim p As New Person()
p.KanjiName = "山田太郎"
p.Age = 21
p.Tell = "090********"

クラス化することでプロパティで桁数チェックや体裁チェックなども可能となります。その他にも、複数のインスタンスを作成してジェネリックコレクションにすれば、配列によるインデックス管理も行わなくてよくなります。