Сообщение Re[13]: Базовое отличие ООП от ФП от 04.04.2024 10:44
Изменено 04.04.2024 10:46 Serginio1
Re[13]: Базовое отличие ООП от ФП
Здравствуйте, sergii.p, Вы писали:
P>>>
S>> А не проще через конструктор . Ведь readOnly тоже должны быть инициализированы! И конструктор без параметров должен быть запрещен!
SP>например, нам не надо задавать email и картинку. А в конструкторе мы обязаны перечислить все параметры. Их там может быть 20 штук. И мы должны каждый явно указать. Неудобно.
В шарпе есть именованные параметры и параметры по умолчанию
Именованные и необязательные аргументы (Руководство по программированию на C#)
Если вы знаете имя третьего параметра, можете использовать для выполнения задачи именованный аргумент.
P>>>
P>>>return new User()
P>>> .withName('Коля')
P>>> .withEmail('коля+2024@гемайл.ком')
P>>> .withImage('data:image/png;base64,...')
P>>>
S>> А не проще через конструктор . Ведь readOnly тоже должны быть инициализированы! И конструктор без параметров должен быть запрещен!
SP>например, нам не надо задавать email и картинку. А в конструкторе мы обязаны перечислить все параметры. Их там может быть 20 штук. И мы должны каждый явно указать. Неудобно.
В шарпе есть именованные параметры и параметры по умолчанию
Именованные и необязательные аргументы (Руководство по программированию на C#)
public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
Следующий вызов ExampleMethod вызывает ошибку компилятора, поскольку аргумент предоставляется для третьего параметра, но не для второго.
Если вы знаете имя третьего параметра, можете использовать для выполнения задачи именованный аргумент.
anExample.ExampleMethod(3, optionalint: 4);
Re[13]: Базовое отличие ООП от ФП
Здравствуйте, sergii.p, Вы писали:
P>>>
S>> А не проще через конструктор . Ведь readOnly тоже должны быть инициализированы! И конструктор без параметров должен быть запрещен!
SP>например, нам не надо задавать email и картинку. А в конструкторе мы обязаны перечислить все параметры. Их там может быть 20 штук. И мы должны каждый явно указать. Неудобно.
В шарпе есть именованные параметры и параметры по умолчанию
Именованные и необязательные аргументы (Руководство по программированию на C#)
Если вы знаете имя третьего параметра, можете использовать для выполнения задачи именованный аргумент.
Плюс такого подхода ты знаешь значения по умолчанию!
P>>>
P>>>return new User()
P>>> .withName('Коля')
P>>> .withEmail('коля+2024@гемайл.ком')
P>>> .withImage('data:image/png;base64,...')
P>>>
S>> А не проще через конструктор . Ведь readOnly тоже должны быть инициализированы! И конструктор без параметров должен быть запрещен!
SP>например, нам не надо задавать email и картинку. А в конструкторе мы обязаны перечислить все параметры. Их там может быть 20 штук. И мы должны каждый явно указать. Неудобно.
В шарпе есть именованные параметры и параметры по умолчанию
Именованные и необязательные аргументы (Руководство по программированию на C#)
public void ExampleMethod(int required, string optionalstr = "default string",
int optionalint = 10)
Следующий вызов ExampleMethod вызывает ошибку компилятора, поскольку аргумент предоставляется для третьего параметра, но не для второго.
Если вы знаете имя третьего параметра, можете использовать для выполнения задачи именованный аргумент.
anExample.ExampleMethod(3, optionalint: 4);
Плюс такого подхода ты знаешь значения по умолчанию!