Похожие чаты

HI there, i have a question i hope its easy

to understand, if you could help i would be greatly appreciated :)

I have a Parent Class <Piece>, this class has Child classes, some of them being: <King>, <Queen>, <Bishop>...

Now i read each piece by a ID from a TXT File, when reading the file i want to call the appropiate Class to create a new object. (I think i didnt explain myself 😅 ), my question is how do i make that appropiate call? Should i do a:

if (id == 1) { // create new King }
else if (if == 2) { // create new Queen }
.....

What do you guys think?

2 ответов

4 просмотра

Please format the code you posted, by wrapping it in triple backticks. -> `

I would use enum for chess pieces. And map pieceID->enum object. Imho, it's more natural to represent fixed enumeration of immutable objects as enum. When deserializing, simply get piece from map like pieces[id]. But it depends on what information your piece objects hold. If they should have state. Then I would also used a map but with factories. Like: pieceFactoriesMap[id].create(). Using factories is more ioc friendly and flexible.

Похожие вопросы

Обсуждают сегодня

Ясн. Но я всеравно к кедам отношусь с опасением. Чисто субьективное кедосозерцание. Что касаемо "восторга изяшности кед" так и не вкурил, хотя много слышал, пока не поставил с...
Артем Записной
30
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
They keep hyping $FUN but where's the progress? 🙄
Noah Noure
23
Hello everyone, sorry for asking as I guess this has already been answered a thousand times but... I m a bit concerned about the FTM -> S swap. I m hodler and quiet exposed a...
Tonton ToOn
6
Btw guys very stupid question but i haven't researchd so js asking you pros . Can ltc be traced too? Literally point to pint to the user? And getting the banks blocked ? Exch...
20
Can I deposit from Bingx-exchange to wazirx? Any problem? Admin
Crypto Alt Trader
16
Hey guys, did you see the new announcement about $Fun? 🔥
Filip Murphy
55
Карта сайта