1. Метод – съставна част от програма, която решава даден проблем и може да приема параметри.
2. Ползи от методите
а) преизползване на кода: пишем един код, който можем да използваме след това бързо и лесно колкото пъти пожелаем.
б) по-добро структуриране на кода
3. Използване на методи
а) деклариране – обявяваме, че ще използваме метода, като му даваме име и списък с параметри в скоби.
static void <име_на_метод> (){…}
б) имплементиране – реализира логиката на метода. Тук пишем кода на метода.
в) извикване – стартиране на кода на метода (имплементацията) за конкретни параметри. Извикването става чрез името на метода и параметри, за които искаме да се изпълни този метод.
Пример 1: Да се напише метод, който променя цвета и съдържанието на Етикет 1. Метода да се извиква с натискане на Бутон1 и Бутон2.
public void label1Print() { label1.Text = "Човек е това, в което вярва. - А. Чехов"; label1.ForeColor = Color.Green; } private void button1_Click(object sender, EventArgs e) { label1Print(); } private void button2_Click(object sender, EventArgs e) { label1Print(); }
Пример 2: Да се напише метод, който променя цвета и съдържанието на етикет. Метода да се извиква с натискане на Бутон1 и Бутон2.
public void labText(Label lab, Color col) { lab.Text = "Човек е това, в което вярва. - А. Чехов"; lab.ForeColor = col; } private void button1_Click(object sender, EventArgs e) { labText(label1, Color.Green); } private void button2_Click(object sender, EventArgs e) { labText(label2, Color.Blue); }
Пример 3: Да се напише метод, който имитира показване на информация за ФБ приятел – при натискане на приятел от списъка с приятели за чат, да се показва информация за него/нея.
public void FBcopy(PictureBox pic1, PictureBox pic2) { label2.Text = name; label3.Text = age.ToString() + " years"; label5.Text = about; label5.ForeColor = Color.Blue; pic1.Visible = true; pic2.Visible = false; } string name; int age; string about; private void pictureBox3_Click(object sender, EventArgs e) { name = "Elena"; age = 28; about = "Programmer"; FBcopy(pictureBox1, pictureBox2); } private void pictureBox4_Click(object sender, EventArgs e) { name = "Valentina"; age = 25; about = "Prosecutor"; FBcopy(pictureBox2, pictureBox1); }
Задачи за самостоятелнa работа:
1. Да се напише метод CalcProduct(int a, int b), който намира произведението на 2 числа и го отпечатва в етикет. Да се извика метода 3 пъти с бутони за различни стойности a и b.
б) Да се добави още 1 параметър Label lab – CalcProduct(int a, int b, Label lab), така че всеки път резултатът от 3-те извиквания да се отпечатва в различен етикет.
2. Като използвате метод направете WeTube, с дизайн подобен на YouTube. Да има списък с 2 видео клипа отстрани и като се избере видео клип да се показва в средата картинка от клипа, заглавие, брой гледания, брой харесвания, брой нехаресвания. И да се пресмята коефициент на харесване = харесвания / нехаресвания.
3. Да се направи метод ShowProducts(Label lab, string [] products), който приема като параметър масив от продукти и ги отпечатва в етикет. Да се извика метода 2 пъти – за масив от 5 хранителни продукта и за масив от 6 напитки.
4. Към горния метод да се добави масив с цени на продуктите, които се отпечатват в друг етикет. Да се намери обща сума на продуктите.
Б*) Да се намери най-скъп продукт.