我主要是一名 C#、.NET 开发人员,习惯 C# 中的接口和 TDD。C# 中的接口主要定义实现时的契约。Java 中的用法似乎略有不同。特别是,我遇到的每个项目似乎都实现了用于访问应用程序的基本接口,就好像任何 Java 应用程序都需要使用接口一样。我想我缺少一些基本的理解,所以我真的很感激任何关于我可以阅读的好入门书的提示。
例如,我有一个如下所示的测试(在我的解决方案中的单独“测试”文件夹中):
Tests.java
package com.dius.bowling;
class DiusBowlingGameTest {
private BowlingGame bowlingGame;
@BeforeEach
void setUp() {
this.bowlingGame = new DiusBowlingGame();
this.bowlingGame.startGame();
}
为了能够访问,this.bowlingGame.startGame();我需要将该方法添加到接口中。为什么?我不知道 Java 和 C#/.NET 之间似乎存在差异?
界面
package com.dius.bowling;
/**
* Interface for a bowling game.
*/
public interface BowlingGame {
/**
* roll method specifying how many pins have been knocked down
* @param noOfPins no. of pins knocked down
*/
void roll(int noOfPins);
/**
* get player's current score
* @return player's current score
*/
int score();
void startGame();
}
Dius保龄球游戏
package com.dius.bowling;
/**
* Scoring system for tenpin bowls
*/
public class DiusBowlingGame implements BowlingGame {
ArrayList<BowlingFrame> gameFrames = new ArrayList<BowlingFrame>();
public void roll (int noOfPins) {
/* Implementation */
}
}
/**
* Activate the 1st frame of the game
*/
public void startGame() {
advanceFrame();
};
慕神8447489
陪伴而非守候
相关分类