OriginalGriff
Вы используете статические методы, когда методу не нужно обращаться к каким-либо нестатическим элементам класса, таким как свойства, события или методы, чтобы выполнить свою работу.
Подумайте об этом так: сколько колес у автомобиля? Какого цвета автомобиль?
Первый-статический вопрос, потому что все автомобили имеют 4 колеса (если бы у них было два, они были бы мотоциклами, а три-трехколесными). Вам не нужно устанавливать, о каком автомобиле вы говорите, потому что этот вопрос является общим для всех автомобилей.
Второй-нестатический: вы должны указать, о каком автомобиле идет речь. "Моя машина" черная," ваша машина "зеленая," эта машина "красная," та машина " синяя - вы не можете ответить на вопрос, если не знаете, о какой машине идет речь.
Классы одинаковы: статические методы (и свойства, поля, события), когда вам не нужна информация о конкретном экземпляре, нестатические, когда вам это нужно:
public class Car
{
private Color colour;
public static int CountWheels() { return 4; }
public Color GetColour() { return colour; }
}
OriginalGriff
:Д
Один из них-трехколесный велосипед - если бы вы когда-нибудь ездили на нем (а я не рекомендую его), вы бы знали, что они классифицируются как трехколесные мотоциклы. Отвратительные, мерзкие кучи Visual Basic...
Другой называется автомобиль, но он тоже немного изворотлив.
Однако все лучшие правила имеют исключения:
https://media.wired.com/photos/59322d3044db296121d69883/master/pass/Tyrrell-P34-ft.jpg
http://www.algysautosblog.com/wp-content/uploads/2013/11/FAB-1.jpg
(и оба они тоже были дрянью!)