![]() |
1
7
喜欢组合而不是继承。 您希望您的电话号码可以从字符串中分配吗?当然不会,因为届时可能会出现以下情况:
这种感觉更自然:
您可以在构造函数中进行自定义验证,并另外决定希望它是不可变的(好的,字符串也是不可变的) |
![]() |
2
2
简言之,是的,有一个私人会员。但是,我建议使用静态解析成员,而不是重载赋值。
这更标准,也更具可读性。而且,即使您可以从string继承,我也建议不要这样做,因为string具有复杂的内部功能,应该与您的类分开。同样,从字符串继承会暴露许多对电话号码没有意义的方法(例如:Concat、不准确的比较等)。 |
![]() |
3
1
我将按照您的建议创建带有私有字符串成员的PhoneNumber类。如果您想提供一致的格式(例如(123)123-1234或其他),可以重写ToString()方法,您可以在set方法或构造函数上添加一些验证,以确保电话号码有10位数字(如果是北美号码)。
|
![]() |
4
1
我建议你接受约翰·鲁道夫或C·罗斯的建议。您还可以查看 implicit 关键字,它将允许您在进行验证时以类似字符串的方式进行分配。 即。:
|
![]() |
Schadre · C-plus编码错误 2 年前 |
![]() |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
![]() |
amirreza870 · Python OOP-更改类文本 2 年前 |
![]() |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
![]() |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |