C# 类的基本概念(实例成员)
本章内容:
类的概述
程序和类:一个简单的示例
声明类
类成员
创建变量和类的实例
为数据分配内存
实例成员
访问修饰符
从类的内部访问成员
从类的外部访问成员
综合应用
实例成员
类声明相当于蓝图,通过这个蓝图想创建多少个类的实例都可以。
实例成员 类的每个实例都是不同的实体,它们有自己的一组数据成员,不同于同一类
的其他实例。因为这些数据成员都和类的实例相关,所以被称为实例成员。
静态成员 实例成员是默认类型,但也可以声明与类而不是实例相关的成员,称为静态
成员,将在第7章阐述。
下面的代码是实例成员的示例,展示了有3个P1ayer类实例的扑克牌程序。图5-4表明每个
实例的Name字段都有不同的值。
class Dealer{...} //声明类
class Player
{string Name; //字段
}class Program
{static void Main(){Dealer theDealer=new Dealer();Player player1=new Player();Player player2=new Player();Player player3=new Player();...}
}
访问修饰符
从类的内部,任何函数成员都可以使用成员的名称访问类中任意的其他成员。
访问修饰符是成员声明的可选部分,指明程序的其他部分如何访问成员。访问修饰符放在简
单声明形式之前。下面是字段和方法声明的语法:
5种成员访问控制如下。本章将阐述前两种,其他的将在第8章阐述。
私有的(private);
公有的(public);
受保护的(protected);
内部的(internal);
受保护内部的(protected internal)。
私有访问和公有访问
私有成员只能从声明它的类的内部访问,其他的类看不见或无法访问它们。
私有访问是默认的访问级别,所以,如果一个成员在声明时不带访问修饰符,那它就是
私有成员。
还可以使用private访问修饰符显式地将一个成员声明为私有。隐式地声明私有成员和显
式地声明在语义上没有不同,两种形式是等价的。
例如,下面的两个声明都指定了private int成员:
实例的公有成员可以被程序中的其他对象访问。必须使用public访问修饰符指定公有访问。
公有访问和私有访问图示
本文中的插图把类表示为标签框,如图5-5所示。
类成员为类框中的小标签框。
私有成员完全封闭在它们的类框中。
公有成员有一部分伸出它们的类框之外。
成员访问示例
类C1声明了公有和私有的字段和方法,图5-6阐明了类C1的成员的可见性。
class C1
{int F1; //隐式私有字段private int F2;//显式私有字段public int F3;//公有字段void DoCalc() //隐式私有方法{...}public int GetVal() //公有方法{...}
}