Метод (програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
Ред 96:
 
==Статични и динамични методи==
В езика C# методите могат да бъдат "привързани" както към даден клас като цяло (статични методи), така и към дадена инстанция (елемент) на дадения клас (динамични методи).Когато метода бъде дефиниран с ключовата дума static пред дефиницията си, то той е статичен. Този метод работи не върху конкретен обект от класа, а върху данни от целия клас.
Ако например имаме клас "автомобил" и направим статичен метод за изчисляване на разхода на гориво, то този метод няма да се интересува за кой точно автомобил става въпрос. Той ще очаква да му се подадат като параметри пробега и изразходените литри гориво, и ще връща резултата в литри на 100 км. Така всички обекти, наследници на клас "автомобил" ще могат да изчисляват разхода си, ползвайки този метод.
Особеност на статичните методи е това, че те могат да се извикват дори и да няма нито един обект от дадения клас, тъй както както казахме те са "вързани" към самия клас, а не към определен обект от него. Можем да извикаме Automobile.GetAverageMPG(miles, gallons) без да му подаваме определен обект от клас "автомобил". Както се забелязва от примера статичния метод се извиква като се укаже името на клас преди името на метода. Статичния метод може да се ползва след първо извикване на метод от дадения клас. Докато нямаме нито един обект от клас "автомобил", нямаме и никакви методи от този клас и опит да извикаме метода ще доведе до грешка при изпълнението на програмата.{{Br}}