Методи Структур
Структура також може містити методи окрім полів даних. У структурі метод створюється так само, як і звичайний метод:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Наприклад:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
У структурі Player
є метод під назвою displayScore
, який виводить відформатоване повідомлення з іменем (name
) та рахунком (score
). Важливо зазначити, що значення name
та score
будуть різними для кожного об'єкта (екземпляра), тобто метод displayScore
показуватиме різний результат для кожного об'єкта.
Доступ до методу та його виклик здійснюється за допомогою синтаксису variableName.methodName()
. Розглянемо, як використовувати структуру Player
:
index.cs
123456789101112131415161718192021222324252627282930using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }
У цьому прикладі було створено два об'єкти за допомогою класу Player
та призначено їм деякі дані. Метод displayScore
було викликано для кожного об'єкта, і результат виводу виявився різним для кожного з них.
Методи також можуть мати параметри. Додамо новий метод під назвою addScore
, який збільшує рахунок на вказану кількість, і спробуємо його використати:
index.cs
12345678910111213141516171819202122232425262728293031using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }
З результату видно, що метод оновлює рахунок на 70
балів.
1. Яке ключове слово є допустимим для оголошення методу?
2. Яким буде результат виконання наступного коду?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you show me the code for the Player structure and its methods?
How does the addScore method work in detail?
Can you explain how methods with parameters are defined in a struct?
Awesome!
Completion rate improved to 2.04
Методи Структур
Свайпніть щоб показати меню
Структура також може містити методи окрім полів даних. У структурі метод створюється так само, як і звичайний метод:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Наприклад:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
У структурі Player
є метод під назвою displayScore
, який виводить відформатоване повідомлення з іменем (name
) та рахунком (score
). Важливо зазначити, що значення name
та score
будуть різними для кожного об'єкта (екземпляра), тобто метод displayScore
показуватиме різний результат для кожного об'єкта.
Доступ до методу та його виклик здійснюється за допомогою синтаксису variableName.methodName()
. Розглянемо, як використовувати структуру Player
:
index.cs
123456789101112131415161718192021222324252627282930using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }
У цьому прикладі було створено два об'єкти за допомогою класу Player
та призначено їм деякі дані. Метод displayScore
було викликано для кожного об'єкта, і результат виводу виявився різним для кожного з них.
Методи також можуть мати параметри. Додамо новий метод під назвою addScore
, який збільшує рахунок на вказану кількість, і спробуємо його використати:
index.cs
12345678910111213141516171819202122232425262728293031using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }
З результату видно, що метод оновлює рахунок на 70
балів.
1. Яке ключове слово є допустимим для оголошення методу?
2. Яким буде результат виконання наступного коду?
Дякуємо за ваш відгук!