更喜欢构成而非继承.
您是否希望您的电话号码可以从字符串中分配?当然不是因为以下是可能的:
Person.PhoneNumber = "FOO"
Run Code Online (Sandbox Code Playgroud)
这样的事情感觉更自然:
Person.PhoneNumber = new PhoneNumber("015-123456");
Run Code Online (Sandbox Code Playgroud)
你可以在构造函数中进行自定义验证,另外决定你希望它是不可变的(好吧,字符串也是不可变的)