Инкапсуляция. Поле + свойство с проверкой возвращаемого значения - C#
Формулировка задачи:
Задание
В классе MyClass создать приватное строковое поле с именем name, а затем открытое строковое свойство с именем Name, которое будет использовать это поле. Если name - пустая строка или имеет значение null, то метод доступа get должен возвращать строку "Name is not defined", иначе - возвращать значение поля name. Метод доступа set должен просто присваивать полю name значение без каких-либо проверок.
Трудно представить без проверки в set))(И ведь всё равно неправильно)
using System;
namespace Classes
{
class MyClass
{
private string name;
public string Name
{
set
{
if (name == "" && name == null)
name = "Name is not defined";
}
get { return name; }
}
}
class Progremm
{
static void Main()
{
MyClass myclass = new MyClass();
string name1 = Console.ReadLine();
myclass.Name = name1;
Console.WriteLine(myclass.Name);
}
}
}Решение задачи: «Инкапсуляция. Поле + свойство с проверкой возвращаемого значения»
textual
Листинг программы
public string Name
{
get { return (name == null || name == "") ? "Name is not defined" : name; }
set { name = value; }
}