在这种情况下,我应该使用继承还是接口?

时间:2017-10-22 08:50:54

标签: java inheritance interface

经过大量的阅读并了解了继承之后,我发现了一些文章,说继承非常黯淡,接口要好得多,我试图用一些例子来解决这个问题。 ,

这里我在测试自动化框架中有一个场景,其结构如下:

// Sample email address, possibly got from $email = $_POST['email']
$email = "someone@@example.com";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

 // Validate e-mail address
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo "The <b>$email</b> is a valid email address";
} else{
    echo "The <b>$email</b> is not a valid email address";
}
// gives: The **someone@@example.com** is not a valid email address

这可以接受吗?我应该在这种情况下使用接口吗?我正在努力去理解A)为什么(如果是这样)和B)何时这样做,我想如果我认为A)它会走很长的路向B)。

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以问自己以下两个问题:

  • 所有测试都有一些共同的行为和/或状态吗?如果是,请将BaseIntegrationTest设为抽象类,并将常用状态(字段)和行为(方法)添加到其中。
  • 具体测试是否需要继承其他任何内容?如果是,请将BaseIntegrationTest设为接口,因为不允许多重继承。