В чем разница между сеттером и конструктором?

В чем разница между сеттером и конструктором?

Задать свой вопрос
Ульяна Дылькова
Я окончательно задавала этот вопрос для прикола, но не ждала получить столько тупых ответов
Регина Вавило
Setter - способ в ООП, дозволяющий в хоть какой момент медли неопасно установить значения одному свойству объекта и при необходимости, выполнить какие-то дополнительные деянья. К тому же, сеттеры обычно вызываются из кода программы очевидно. Конструктор объекта вызывается автоматом при творении этого объекта и проводит исходную инициализацию всех подходящих параметров. Конструктор отрабатывает однократно и не может быть вызван из кода программки. Окончательно, посещают и исключения в отдельных языках.
Regina Chushnikova
Опечатка: К тому же, сеттеры обычно вызываются из кода программки НЕявно.
Valentina Harsik
Имелось в виду, что мы в программке присваиваем свойству значение, а на самом деле вызывается сеттер для этого свойства.
Елизавета
Скопируешь, как освободится место)
Кирилл Сотириадис
Для чего? Баллы мне 100 лет не нужны)
Tolkacier Inna
К тому же, не вижу смысла познаниями со школьниками тягаться))) Пусть дают свои версии ответов, баллы зарабатывают.
Лерер Ульяна
тоже правильно, но спамеров будет в разы больше
Alter Ivan
Спамеры за каждый случай мусора ставятся в бан на 12 часов
Ксения
Не считая того, люд почитает комментарии наверное и не станет больше про собак писать...
1 ответ
Метод set нужен для того что бы присвоить закрытым (private) переменным в классе какое-либо значение. Т.к поле private 
доступно только для способов этого класса. 
А конструктор в зависимости от условия присваивает им какое-либо дефолтное значение . Разница в том что конструктор запускается автоматом при творении объекта. 
Приведу пример (с++)

class Fraction

private:
 int N; int deN;
public:
Fraction();  // макет конструктора
void setFraction(int, int); // макет сет-способа
;
void Fraction::setFraction(int num, int denum) // сам сет-метод
 
N = num; deN = denum;

Fraction::Fraction() // конструктор

int N = NULL;
int deN= NULL;
Jelina Tishinova
Все же С++ имеет страшный для школьника синтаксис...
Шурик Иглицын
type Fraction=class private N,deN:integer; procedure setN(num:integer); // setter begin N:=num; end; constructor(num,denum:integer); // конструктор begin N:=num; deN:=denum end; public property num:integer write setN; end;
Ilja Bokoljar
А комменты съедают здесь переводы строк, но в Паскале все же синтаксис прекраснее.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт