Создание списка класса в том же классе? - PullRequest
0 голосов
/ 11 марта 2020

Я практикую C# и учусь только около месяца. У меня есть вопрос, который может быть немного новичком, поэтому я надеюсь, что кто-то не возражает ответить за меня.

У меня есть класс под названием yourCharacter. В этом классе сидит вся информация для чьего-то характера. Я хочу дать пользователю возможность создавать нового персонажа, поэтому я создал метод / функцию для этого. Мой вопрос заключается в том, могу ли я разместить функцию внутри вашего персонажа, которая создает список вашего персонажа. Это выполнимо? Это плохая форма, чтобы сделать это таким образом? Должен ли я создать этот список в моем классе Main, а затем вызвать функцию в главном классе, чтобы сделать это?

Я надеюсь, что мой вопрос достаточно ясен, пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Единственная причина, по которой я хочу это сделать, заключается в том, что в моей голове больше смысла группировать мои методы / функции с классом, которым он манипулирует или с которым работает.

class yourCharacter{

     //insert a bunch of variables here


     public static void newChar(){

          List newCharacter = new List<yourCharacter>();

     }
}

1 Ответ

0 голосов
/ 11 марта 2020

То, что у вас там, выполнимо наверняка.

Класс может содержать себя в качестве члена. Это может иметь смысл в некотором сценарии, но подумайте о своем и посмотрите, применимо ли это. В вашем случае кажется, что вы пытаетесь создать механизм для группировки персонажей, но это не очень хороший способ сделать это. Почему? Читайте дальше ...

Скажем, у вас была коробка. Этот блок содержал еще один блок внутри ... этот блок мог содержать другой блок внутри ... Так что в этом случае, если бы я создал класс, представляющий этот тип блока, возможно, имеет смысл добавить этот класс в себя. Создание такого класса представляет собой реальную систему, в которой блок содержит другие блоки.

Какую систему вы пытаетесь абстрагировать, чтобы было полезно, чтобы персонаж содержал другие символы? Я могу подумать кое о чем: давайте представим, что персонаж в вашей игре может проглотить других персонажей, и они будут жить в его животике ...

Если вы хотите сгруппировать их - вы, вероятно, захотите использовать другой класс которая представляет систему, в которой ваши персонажи сгруппированы следующим образом: скажем, в вашей игре есть приключенческая вечеринка! Приключенческая вечеринка может пригласить других людей присоединиться, и они вместе займутся квестом. Допустим, у этой приключенческой вечеринки есть лидер, который решает, кто может присоединиться, а кто нет. Вы все еще, вероятно, не сделаете символ, который содержит другие символы ... вы бы предпочли создать класс с именем "AdventureGroup" со списком "обычных" членов партии и лидера, вы бы присвоили строку, которая представляет "псевдоним группы" "и все другие виды вещей, которые представляют группу как единое целое. Что-то в этом роде ... вы получите jist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...