如何限制派生类访问 c# 中基类的属性之一
本文关键字:基类 属性 何限制 派生 访问 | 更新日期: 2023-09-27 18:30:20
我有一个派生(比如B)类,我想在其中访问基类(Say A)的某些属性,但不是基类的所有属性。我在基类中有 5 个属性,比如姓名、年龄、名称、位置和薪水,我想在派生类中继承。但是,我想让所有属性都接受基类的"薪水"属性(派生类 B 不应访问工资属性。我将如何实现它
提前谢谢。
public class Employee
{
public double Salary { get; private set; }
}
若:
- 您希望每个人都可以读取该属性
- 您不希望子类能够写入
Salary
但是,如果您希望外部类写入Salary
,而不是Employee
的子类,那么这是不可能的。子类始终具有至少与外部类一样多的权限。
如果你不希望任何人能够读/写该属性(Employee
类除外),那么就这样将其设为私有
public class Employee
{
private double Salary { get; set; }
}
将此属性标记为私有:
class A
{
protected string Name { get; set; }
...
private string Salary { get; set; } // derived classes has no access now
}