除了在类中创建一个函数以将类变量作为对象返回之外,是否有一种更简单的方法或内置的方法来从类中只获取公共变量而不获取函数或私有变量
有没有办法得到类似PokerObject
的对象
常量表变量作为对象=表数组[1]
"而不是打电话"
常量表变量作为对象=表数组[1].getAsObject()
interface PokerObject {
smallBlind: number;
bigBlind: number;
size: number;
}
interface PokerTable {
smallBlind: number;
bigBlind: number;
size: number;
GetNextPlayer: (extra: number) => number;
getAsObject: () => PokerObject;
}
class Poker_Table implements PokerTable {
public smallBlind: number;
public size: number;
public bigBlind: number;
private id: string;
constructor(id: string, size: number, smallBlind: number, bigBlind: number) {
this.id = id;
this.smallBlind = smallBlind;
this.bigBlind = bigBlind;
this.size = size;
}
getAsObject(): PokerObject {
return {
smallBlind: this.smallBlind,
size: this.size,
bigBlind: this.bigBlind,
};
}
GetNextPlayer(extra: number): number {
//retutrn sum number
return 1;
}
}
将类放入数组中
const Table1: PokerTable = new Poker_Table("1", 2, 1, 1);
const Table2: PokerTable = new Poker_Table("1", 2, 1, 1);
const Table3: PokerTable = new Poker_Table("1", 2, 1, 1);
const TablesArray: Array<PokerTable> = [Table1, Table2, Table3];
2条答案
按热度按时间omjgkv6w1#
可以使用静态方法设置值,而不是在构造函数中设置值
例如,我在这里设置create方法来创建新PokerTable
当我返回它时,它不会返回私有值(只返回公共值和方法值)
而要将其作为对象获取(不使用任何方法),可以使用spread syntax
就像这样:
这里是打字机游戏场
7ivaypg92#
Playground