如何正确制作 setter 编辑 class 成员
How to make a properly make setter edit class members
我正在尝试为私人会员年龄public 属性 制作一个setter。它的运行方式是,如果您尝试输入的年龄小于零,则程序应将其设置为零并为您提供基本信息。然而,这个 setter 会让任何负数从字面上溜走。如果您尝试在构造函数中编辑它,setter 甚至不会激活。但是,如果您创建年龄 class 的实例而不是尝试编辑该实例 class,则可以。但是,它会让小于零的数字通过,并发送消息“Viable”,表示它是一个可行的数字。这里是Personclass年龄成员,属性,构造函数等所在的
namespace HopeThisWorks
{
class Person
{
private int age;
public int Age
{
get
{
return age;
}
set
{
if(age >= 0)
{
age = value;
System.Console.WriteLine("Viable");
}
else
{
age = 0;
System.Console.WriteLine("Not Viable");
}
}
}
public Person(int age)
{
this.age = age;
}
}
}
这里是主要方法:
using System;
namespace HopeThisWorks
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person(1);
p1.Age = -1;
}
}
}
如有任何帮助,我们将不胜感激。谢谢!
这是工作内容
using System;
public class Program
{
public static void Main()
{
var p = new Person(-5);
}
}
class Person
{
private int _age;
public int Age
{
get {return _age;}
set
{
if (value >= 0)
{
_age = value;
System.Console.WriteLine("Viable");
}
else
{
_age = 0;
System.Console.WriteLine("Not Viable");
}
}
}
public Person(int age)
{
Age = age;
}
}
在这种情况下,结果将 Not Viable
打印出来。
Mark 的 中有解释。
我正在尝试为私人会员年龄public 属性 制作一个setter。它的运行方式是,如果您尝试输入的年龄小于零,则程序应将其设置为零并为您提供基本信息。然而,这个 setter 会让任何负数从字面上溜走。如果您尝试在构造函数中编辑它,setter 甚至不会激活。但是,如果您创建年龄 class 的实例而不是尝试编辑该实例 class,则可以。但是,它会让小于零的数字通过,并发送消息“Viable”,表示它是一个可行的数字。这里是Personclass年龄成员,属性,构造函数等所在的
namespace HopeThisWorks
{
class Person
{
private int age;
public int Age
{
get
{
return age;
}
set
{
if(age >= 0)
{
age = value;
System.Console.WriteLine("Viable");
}
else
{
age = 0;
System.Console.WriteLine("Not Viable");
}
}
}
public Person(int age)
{
this.age = age;
}
}
}
这里是主要方法:
using System;
namespace HopeThisWorks
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person(1);
p1.Age = -1;
}
}
}
如有任何帮助,我们将不胜感激。谢谢!
这是工作内容
using System;
public class Program
{
public static void Main()
{
var p = new Person(-5);
}
}
class Person
{
private int _age;
public int Age
{
get {return _age;}
set
{
if (value >= 0)
{
_age = value;
System.Console.WriteLine("Viable");
}
else
{
_age = 0;
System.Console.WriteLine("Not Viable");
}
}
}
public Person(int age)
{
Age = age;
}
}
在这种情况下,结果将 Not Viable
打印出来。
Mark 的