, поэтому я медленно читаю книгу «Руководство для игроков C#, второе издание». и я получил возможность попробовать! деятельность с участием классов. Он говорит мне создать класс Color с геттерами и сеттерами для красного, синего, зеленого и альфа, которые я сделал.Использование класса внутри других классов Constructor, C#
Он также сказал мне сделать класс шара, который потребует размер, цвет (используя класс цвета) и timesThrown переменные. Я сделал это хорошо, и теперь я вернулся в основной класс программы, создавая экземпляры класса ball.
Действительно я просто интересуюсь тем, что лучше сделать для создания этого шара, потому что один способ выглядит более эффективным, но тогда я не уверен, как использовать геттеры и сеттеры класса Color, а другой образ менее эффективен, но позволяет мне использовать все это. И, не имея возможности использовать методы в классе, я не понимаю, почему я бы не просто определял цвета в классе Ball в любом случае, если только для того, чтобы узнать о классах и как их сделать, в этом руководстве было я так делаю?
Так как я лично сделал это первым, который позволил мне использовать все методы в классе Color было так:
Color red_color = new Color(255, 0, 0);
Ball red_ball = new Ball(5, red_color);
потому, что позволяет мне делать red_color.GetRed(); например.
Другой способ заключается в следующем:
Ball blue_ball = new Ball(4, new Color(0, 0, 255));
Однако, когда я делаю это так, как я должен использовать методы, определенные в классе Color? Мой первый инстинкт состоял в том, чтобы использовать Static, поскольку я не делаю экземпляр, но, очевидно, например, красный, не всегда будет одинаковым значением для каждого шара, чтобы он не работал.
Так что, второй подход позволяет мне использовать методы Colors вообще? Извиняюсь, если я плохо сформулировал себя.
Почему красный не всегда будет одинаковым для каждого шара? код должен быть таким же, не так ли? –
Я в замешательстве - вы говорите, что хотите использовать цвет, переданный конструктору 'Ball' _outside_ этого класса? Затем либо выставляем цвет как свойство 'Ball', либо используйте локальную переменную. Если вы хотите использовать его _inside_ класс 'Ball', тогда покажите, что вы хотите делать, но не можете. –
Также учебные пособия не _perfect_ - они предназначены для того, чтобы дать вам понимание конкретных концепций и могут быть не хорошими проектами _real-world_. Возможно, учебник _later_ разоблачил цвет как свойство, и вы еще не получили его? –