Метод setNumerator
используется для указания объекту Fraction
, какое значение оно должно содержать в переменной с именем numerator
. Как и в разделе «Здесь, г-н Фракция, пожалуйста, используйте значение n для вашего числителя». При реализации этого метода код должен иметь дело с двумя различными понятиями: переменная параметра n, содержащая новое значение, и переменная экземпляра числитель, которая должна быть изменена на значение в n; следовательно, необходимо наличие двух разных имен. Линия
numerator = n;
буквально означает «скопировать номер в п в переменную числителе.»
Помните, что есть две половины сделки. Скажем, что я объект Fraction, и вы хотите, чтобы мой числитель был равен 4. Вы говорите: «Установите числитель на 4, или setNumerator (4)», это прекрасно, потому что вы человек, и вы получаете выбрать нужный номер.
Но как скромный объект Objective-C, весь мой код был написан некоторое время в прошлом; это было написано до значения было даже мерцанием в вашем глазу. Поэтому код для setNumerator() должен быть общим; он должен быть написан, чтобы сказать «установить числитель на любое значение, которое хочет человек», - назовите его n ». Помните, моя фактическая переменная числитель скрыт от вас; все, что вы можете сделать, это вызвать мой метод, и мне нужно установить переменную.
Именно поэтому метод должен быть написан для использования абстрактного имени - n - для значения, поскольку, когда метод написан, значение неизвестно.
Ничего себе, что было быстро спасибо. Но я до сих пор неясно, почему должна существовать переменная paramenter и переменная экземпляра. Поскольку числитель был объявлен как (int), и при выполнении метода, который вы даете (int) значение, подобное 4, почему нам нужно сначала дать n значение 4, а затем передать это числителю? – CloudDweller
Я добавил немного ответа; Надеюсь, поможет. –
Я как бы понимаю, что ты имеешь в виду, и я знаю, что его глупость, но я все еще не 100%, почему нужно быть двумя. Мы объявляем как числитель как (int), так и n как (int), поэтому программа знает, что int будет использоваться. Почему числитель ivar скрыт, так как мы не показываем его в интерфейсе? – CloudDweller