在教程视频中:为何字段要私有,但属性为公有?
private int age;
public int Age
这样做是为防止别人删除修改数据而造成数据不合法吗?
小禾斗 发表于2022-07-06 17:11
按照面向对象的要求来说,属性是通过get()、set()来给外界调用的,而字段是给类内部使用的。所以从安全性、严谨性来说,应该避免使用公有字段,尽量用私有字段和属性来做代替。
如果某个变量在赋值时候会有一些计算或者限制要求,通过属性赋值对它进行动态修改效果更好,另外如果某个变量对类外只允许引用或者只允许修改时候属性可以通过只有set或者只有get来提供这样一个功能,公有字段等于就是全部开放的形式了。
感谢您的指导
再请教一下:1、public是公有,private是私有,那internal也和private一样是私有吗?
2、
student stu = new student();
stu.Age = Convert.ToInt32(Console.ReadLine);
Console.WriteLine(stu.Age);
Console.ReadLine();
为什么会报
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 CS1503 参数 1: 无法从“方法组”转换为“object” ConsoleApp62 E:\C#project\ConsoleApp62\ConsoleApp62\Program.cs 37 活动