我在同一个类中有多个构造函数,它们有许多Assert函数,这些函数对所有构造函数都是一样的。例如,一个类Foo有两个构造函数:
Foo({...some params}):assert(conditionA),assert(conditionB),assert(conditionC);
Foo.fromForm({...some params}):assert(conditionA),assert(conditionB),assert(conditionC);
有没有什么方法可以将assert分组并共享给两个构造函数?
2条答案
按热度按时间ulmd4ohb1#
您可以通过使命名构造函数调用未命名构造函数来共享Assert。
假设我定义了我的类
Foo
如下:在执行以下操作时,我可能会出现Assert错误:
现在,如果我声明我的二级构造函数如下:
当使用
this()
时,我定义了我的Foo.fromForm
构造函数将调用我的基未命名的Foo
构造函数,并将受益于它的assert
。这也可以通过使用抽象类来实现:
disbfnqx2#
你可以用两种方法来成功;
1-你可以在构造函数中调用assert,如;
2-可以使用super关键字;