抽象类中的属性可见性
有人知道关于在抽象类或父类中公共属性后面定义属性可见性(私有或受保护)的方法的C#最佳实践。
在其他世界中,默认情况下(以及为什么)之间的最佳实践是:
public abstract class MyClass { private string myAttribute; public string MyAttribute { get { return myAttribute; } set { myAttribute = value; } } }
和
public abstract class MyClass { protected string myAttribute; public string MyAttribute { get { return myAttribute; } set { myAttribute = value; } } }
我认为子类应该有办法直接处理这个受保护的属性,但如果getter或setter包含更多的代码,它可能不是一个好习惯…
你觉得怎么样?
谢谢。
非const字段应该总是私有的。 如果由于某些原因无法使用自动属性而需要使用字段,请确保它是私有的。 儿童class应通过公共或受保护的财产进入。
绝对私密。 但是,有一种更简单的方法来做你正在做的事情:
public abstract class MyClass { public string MyAttribute { get; set; } }
这完全相同,但它更容易维护。
绝对私密。 在定义抽象类时,如果它是满足以下条件的行为,则仅保护项目
- 子类必须覆盖或有权访问
- 外部类不应该有权访问
在这种情况下,您已经为外部类提供了访问该值的权限。 保护它并不会给子类带来任何真正的好处。
我发现了public get,protected set:comments的一个限制。 因为对于公众和受保护的评论不应该相同,尊重stylecop: – 对公众的评论:获取评论 – 对protected的评论:获取或设置评论
我不想为两个可见性做两个属性,所以我用以下注释解决了它quiclky:获取ot set(protected)comment。
如果你有更好的练习,欢迎。
上述就是C#学习教程:抽象类中的属性可见性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/949954.html