C#基础—关于类

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 18:41 点击:
类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。类定义了每个对象可以包含什么数据和功能,但类自己不能包含数据。比如一个类代表一个人,它就可以定义所以人相关的信息(身高、年龄、体重等)。使用时,事例化对象表示某一个人。
类的成员
可以分为两大类类本身所声明的以及从基类中继承而来的
类的成员有以下类型
􀁺 成员常量,代表与类相关联的常量值
􀁺 域,即类中的变量
􀁺 成员方法,复杂执行类中的计算和其它操作
􀁺 属性,用于定义类中的值并对它们进行读写
􀁺 事件,用于说明发生了什么事情
􀁺 索引,指示器允许像使用数组那样为类添加路径列表
􀁺 操作符,定义类中特有的操作
􀁺 构造函数和析构函数,分别用于对类的实例进行初始化

new 仅允许在嵌套类声明时使用表明类中隐藏了由基类中继承而来的
与基类中同名的成员
public 表示不限制对该类的访问
protected 表示只能从所在类和所在类派生的子类进行访问
internal 只有其所在类才能访问
private 只有对包.Net 中的应用程序或库才能访问
abstract 抽象类不允许建立类的实例
sealed 密封类不允许被继承
virtual 方法可以被其他派生类重写
override 方法重写继承的方法或抽象的方法
extern 方法在外部被另一种语言执行
使用internal 修饰符的类的成员是一种特殊的成员这种成员对于同一包中的应用
程序或库是透明的而在包.Net 之外是禁止访问的
使用下面的例子说明一下类的成员的访问修饰符的用法
程序清单10-1
using System;
class Vehicle//定义汽车类
{
public int wheels; //公有成员轮子个数
protected float weight; //保护成员重量
public void F(){
wheels = 4;//正确允许访问自身成员
weight = 10; //正确允许访问自身成员
}
};
class train //定义火车类
{
public int num; //公有成员车厢数目
private int passengers; //私有成员乘客数
private float weight; //私有成员重量
public void F(){
num = 5; //正确允许访问自身成员
weight = 100; //正确允许访问自身成员
Vehicle v1 = new Vehicle();
v1.wheels = 4; //正确允许访问v1 的公有成员
//v1.weight = 6; 错误不允许访问v1 的保护成员可改为
weight = 6;
}
}
class Car:Vehicle //定义轿车类
{
int passengers; //私有成员乘客数
public void F(){
Vehicle v1 = new Vehicle();
V1.wheels = 4; //正确允许访问v1 的公有成员
V1.weight = 6; //正确允许访问v1 的保护成员
}
}
静态成员和非静态成员
若将类中的某个成员声明为static ,该成员称为静态成员。类中的成员要么是静态,要么是非静态的。一般说来静态成员是属于类所有的。非静态成员则属于类的实例——对象。
using System;
class Test
{
int x;
static int y;
void F() {
x = 1; // 正确,等价于this.x = 1
y = 1; // 正确,等价于Test.y = 1
}
static void G() {
x = 1; // 错误不能访问 this.x
y = 1; // 正确,等价于Test.y = 1
}
static void Main() {
Test t = new Test();
t.x = 1; // 正确
t.y = 1; // 错误不能在类的实例中访问静态成员
Test.x = 1; // 错误不能按类访问非静态成员
Test.y = 1; // 正确
}
}
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1