1.关于访问修饰符 protected和static
1.修饰符
修饰符,用来类型或者成员的关键字。修饰符可以指定方法的可见性。

public 和private修饰字段和方法的时候,表示该字段或者方法能不能通过对象去访问,只有public的才可以通过对象访问(就相当于可以在外部访问),private(私有的)只能在类模板内部访问。
protected 保护的,当没有继承的时候,它的作用和private是一样的,当有继承的时候,protected表示可以被子类访问的字段或者方法。
namespace 派生类的构造函数
{
class BaseClass
{
private int x;
protected int z;
public BaseClass()
{
Console.WriteLine("base class无参的构造函数");
}
public BaseClass(int x)
{
this.x = x;
Console.WriteLine("x赋值完成");
}
}
}
namespace 派生类的构造函数
{
class DerivedClass:BaseClass
{
private int y;
public DerivedClass()//: base()////调用父类中无参的构造函数 <:base()>这个没有当我们没有在子类的构造函数中显示声明调用父类的构造函数,默认会调用父类中的无参的构造函数
{
Console.WriteLine("这个是DerivedClass无参的构造函数");
}
public DerivedClass(int x, int y):base(x)
{
this.y = y;
base.z = 100;
Console.WriteLine("y赋值完成");
}
}
}
2.类型的修饰符
public class …
class …
前者可以在别的项目下访问,后者不行
3.其他修饰符

static可以修饰字段或者方法,修饰字段的时候,表示这个字段是静态的数据,叫做静态字段或者静态属性,修饰方法的时候,叫做静态方法,或者静态函数
使用static修饰的成员,只能通过类名访问
当我们构造对象的时候,对象中只包含了普通的字段,不包含静态字段。
namespace 派生类的构造函数
{
class ClassXYZ
{
public static int z;//静态属性一般设置为public声明了一个静态字段
private int x;
private int y;
public static void TestMethod()
{
Console.WriteLine("这是静态方法");
}
}
}
namespace 派生类的构造函数
{
class Program
{
static void Main(string[] args)
{
//DerivedClass o1 = new DerivedClass();
//DerivedClass o2 = new DerivedClass(1, 2);
//BaseClass o1 = new BaseClass();
ClassXYZ.z = 100;
Console.WriteLine(ClassXYZ.z);
ClassXYZ.TestMethod();
Console.ReadKey();
}
}
}
本文介绍了C#中的访问修饰符,重点讲解了protected和static的作用。protected提供对子类的访问权限,而在无继承关系时等同于private。static修饰符用于创建静态字段和方法,这类成员可通过类名直接访问,且不随对象创建而分配空间。

3346

被折叠的 条评论
为什么被折叠?



