Создание объекта класса. Как лучше? - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, как расово верно создавать объект класса? №1 где в методах класса А объявляем каждый раз класс B и выполняем метод.
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. while (true)
  6. {
  7. string key = Console.ReadLine();
  8. switch (key)
  9. {
  10. case "1":
  11. new A().One();
  12. break;
  13. case "2":
  14. var A a = new A();
  15. a.Two();
  16. break;
  17. }
  18. }
  19. }
  20. internal class A
  21. {
  22. private void One()
  23. {
  24. //Вот это:
  25. B b = new B();
  26. b.One();
  27. // Код
  28. }
  29. public int Two()
  30. {
  31. //Вот это:
  32. B b = new B();
  33. b.Two();
  34. // Код
  35. return 0;
  36. }
  37. public bool Three()
  38. {
  39. //Вот это:
  40. B b = new B();
  41. b.Three();
  42. // Код
  43. return true;
  44. }
  45. }
  46. internal class B
  47. {
  48. public void One()
  49. {
  50. // Код
  51. }
  52. public void Two()
  53. {
  54. // Код
  55. }
  56. public bool Three()
  57. {
  58. // Код
  59. }
  60. }
№2 В классе А объявляем класс B, чтобы не дублировать в методах
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. while (true)
  6. {
  7. string key = Console.ReadLine();
  8. switch (key)
  9. {
  10. case "1":
  11. new A().One();
  12. break;
  13. case "2":
  14. var A a = new A();
  15. a.Two();
  16. break;
  17. }
  18. }
  19. }
  20. internal class A
  21. {
  22. //Вот это:
  23. private readonly B b = new B();
  24. private void One()
  25. {
  26. b.One();
  27. // Код
  28. }
  29. public int Two()
  30. {
  31. b.Two();
  32. // Код
  33. return 0;
  34. }
  35. public bool Three()
  36. {
  37. b.Three();
  38. // Код
  39. return true;
  40. }
  41. }
  42. internal class B
  43. {
  44. public void One()
  45. {
  46. // Код
  47. }
  48. public void Two()
  49. {
  50. // Код
  51. }
  52. public bool Three()
  53. {
  54. // Код
  55. }
  56. }
Производительность меняется или только чтение, ну и как правильней будет? А если метод в цикле? то каждый раз
Листинг программы
  1. class A
  2. {
  3. private void Method()
  4. {
  5. while(true)
  6. {
  7. B b = new B();
  8. b.One();
  9. }
  10. }
  11. }
или
Листинг программы
  1. class A
  2. {
  3. private readonly B b = new B();
  4. private void Method()
  5. {
  6. while(true)
  7. {
  8. b.One();
  9. }
  10. }
  11. }

Решение задачи: «Создание объекта класса. Как лучше?»

textual
Листинг программы
  1. private void Met()
  2. {
  3.   B b = new b();
  4.   b.One();
  5.   b.Two();
  6.   b.Three();
  7. }
  8. или
  9. private void Met()
  10. {
  11.   B.One();
  12.   B.Two();
  13.   B.Three();
  14. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут