Go 语法:
按照题库也刷一遍,和Java基本类似,也和cpp很像
刚才学了计算机里的抽象
比如不同类里的重复的功能:保存文件
就可以抽象成
//Typescript语言
abstract class FileSaver {
protected fileName: string;
public constructor(fileName: string){
this.fileName = fileName;
}
abstract save(gameState: GameState): void;
}
然后别的类去继承这个
abstract class FileSaver {
protected fileName: string;
public constructor(fileName: string){
this.fileName = fileName;
}
abstract save(gameState: GameState): void;
}
class XmlFileSaver extends FileSaver{
public save(gameState: GameState): void {
const xmlBuilder = new xml2js.xmlBuilder();
// some logic of xml conversion
const xmlStr = xmlBuilder.buildObject(gameState);
fs.writeFileSync(this.fileName, xmlStr);
}
}
class JsonFileSaver extends FileSaver{
public save(gameState: GameState): void {
const jsonBuilder = new json2js.jsonBuilder();
// some logic of json conversion
const jsonStr = JSON.stringify(gameState);
fs.writeFileSync(this.fileName, jsonStr);
}