You are on page 1of 8

Методи

Описване на
поведението на класа
Функции
 Всяка програма има поне една функция, която се нарича главна, а може да има и
повече функции.
 В много случаи е добре да се раздели програмния код на няколко отделни функции.
Такъв модулен подход за изграждане на програмата има редица предимства:
 когато се налага част от програмния код да се използва многократно, добре е такава
част от кода да се оформи като функция, като така се намаля обемът на кода;
 функцията се изпълнява след обръщение към нея /извикване/, което прави кода на
извикващата програма по-лесен за четене и изчистване от грешки;
 тестването на обособения във функция код е много по-лесно, отколкото когато кодът
е част от по-голяма програма.

2
Синтаксис – създаване на функция /метод/
[<модификатор>] <тип><име>([<списък с параметри>])
{<тяло на функцията>}
Функциите могат да върнат стойност на извикващата ги програма или могат
и да не върнат стойност.
Когато функцията връща стойност в дефиницията трябва да бъде указан
нейния тип. На всяко място където функцията завършва трябва да стои
операторът return <връщана стойност>;.
Ако функцията нe връща стойност на мястото на типа се поставя ключовата
дума void. В края на функцията може да се постави return;.

3
Претоварване на имената
 В ООП се допуска да има функции с еднакви имена, но те трябва да се
различават по своите сигнатури (типа и имената на аргументите) и
съдържанието им също е различно.
 Тази концепция в ООП се нарича претоварване на имената.
 Параметрите зададени в списъка при дефиниране на функцията се
наричат формални параметри или аргументи.
 Извикване на функция:
<име на функция>(списък с фактически параметри>);
Трябва да има пълно съответствие между броя и типа на формалните и
фактическите параметри (константи, променливи или изрази).
4
Елементи на класа
 Клас се дефинира чрез състояние и поведение
 Полетата съхраняват състоянието
 Методите описват поведението
class Dice {
int sides; Полета
string type;

void Roll(){ … }
} Метод
5
Методи
 Функциите, дефинирани като част от клас в ООП се наричат методи /член-
функции на класа/.
 За класа Student ще оформим два метода calcAverage и spravka.
 Достъп до атрибутите на класа се осъществява чрез служебната дума this.
 Методите имат право да ползват контролирани версии – затова
атрибутите се декларират private.
 Работата на тези методи не е необходима на други методи, затова те
също се обявяват като private.

6
private void calcAverage()

{ this.average = (this.dBEL + this.dForeign + this.dMath + this.dPhys + this.dChem +

this.dBio) / 6;

private void spravka()


Извикване на
{ Console.WriteLine("С П Р А В К А");
методите:
Console.WriteLine("за успеха на {0}, ученик от", this.name);

Console.WriteLine("{0} клас, номер {1}", this.klas, this.id);


std.calcAverage();
Console.WriteLine("БЕЛ -{0,4:0.00}", this.DBEL);

Console.WriteLine("Чужд език -{0,4:0.00}", this.DForeign);


std.spravka();
Console.WriteLine("Математика -{0,4:0.00}", this.DMath);

Console.WriteLine("Физика -{0,4:0.00}", this.DPhys);

Console.WriteLine("Химия -{0,4:0.00}", this.DChem);

Console.WriteLine("Биология -{0,4:0.00}", this.DBio);

Console.WriteLine("Среден успех -{0,4:0.00}", this.Average);


7
}
Какво научихме днес?
 Методите описват
поведението на обектите
 Методите може да
променят състоянието на
обектите или да го достъпват и анализират
 Getter / setter методите са за достъп до
и промяна на полетата на обекта

You might also like