将抽象类变成接口
现在,看一下Shape这个类,它本身没有实际的方法。所以,它更应该是一个接口:

改进后的代码
改进后的代码就像下面这样:

如果我们想要支持更多的图形(比如:三角形),上面没有一个类需要修改。我们只需要创建一个新的类Triangle就行了。
将抽象类变成接口
现在,看一下Shape这个类,它本身没有实际的方法。所以,它更应该是一个接口:

改进后的代码
改进后的代码就像下面这样:

如果我们想要支持更多的图形(比如:三角形),上面没有一个类需要修改。我们只需要创建一个新的类Triangle就行了。