Я недавно был мастерить вокруг с C# и столкнулся с проблемой:член частного класса по сравнению с методом с возвращаемым типом
У меня есть четыре класса:
- программа: с основным методом.
- Игра: место, где все происходит.
- Сущность: основной класс сущностей.
- игрока: полученный из объекта
(Оба Entity и игрока находятся в классе Game)
Теперь мой вопрос, что лучше:
Чтобы сделать частный объект игрока в моем классе игры и доступ к указанному объекту с помощью некоторых общедоступных методов или ...
Чтобы сделать некоторые общедоступные методы и вернуть новый объект Player из тех, которые будут доступны во всем классе?
Это может быть плохо объяснено, так вот пример:
К 1:
namespace Test
{
class Game
{
public Game()
{
createChar();
}
private Player player;
public class Entity
{
public string type;
}
public class Player : Entity
{
public string name;
}
private void createChar()
{
player = new Player();
Console.WriteLine("What type of being is your character?");
player.type = Console.ReadLine();
Console.WriteLine("Name your character.");
player.name = Console.ReadLine();
Console.WriteLine();
}
public void run()
{
Console.WriteLine("Your character's name is:");
Console.WriteLine(player.name);
}
}
class Program
{
public static void Main(string[] args)
{
Game game = new Game();
game.run();
}
}
}
К 2:
namespace Test
{
class Game
{
public class Entity
{
public string type;
}
public class Player : Entity
{
public string name;
}
public Player createChar()
{
Player player = new Player();
Console.WriteLine("What type of being is your character?");
player.type = Console.ReadLine();
Console.WriteLine("Name your character.");
player.name = Console.ReadLine();
Console.WriteLine();
return player;
}
public void run(Player player)
{
Console.WriteLine("Your character's name is:");
Console.WriteLine(player.name);
}
}
class Program
{
public static void Main(string[] args)
{
Game game = new Game();
Game.Player player = game.createChar();
game.run(player);
}
}
}
Этот вопрос не должен быть открытые, и я приношу свои извинения, если это похоже, но чтобы мой вопрос был более конкретным, вот список всех вопросов, которые я рассматриваю в g этот код:
- Какая программа лучше 1. или 2.?
- Какая программа более масштабируема?
- Есть ли еще лучший способ написать программу?
- У меня отсутствуют какие-либо вопросы, которые, вероятно, следует задать?
Кроме того, пожалуйста, игнорируйте пустоту классов Entity и Player.
Пойдите с 2 - сделайте 'класс Game' в статический класс и извлеките из него' Player' (зачем их вставлять?) – Carsten
Взгляните на [Рекомендации по вложенным классам в компонентах] (http: // msdn. Microsoft.ком/EN-US/библиотека/s9f3ty7f (v = vs.71) .aspx). –
Этот вопрос не соответствует теме, потому что речь идет о просмотре кода. – BradleyDotNET