04. 类:基础

来源:互联网 发布:手机 淘宝 降价提醒 编辑:程序博客网 时间:2024/06/07 11:48

4.1 类的概述

类是一种活动的数据结构

类是一个能存储数据并执行代码的数据结构。它包含以下内容:

  • 数据成员,它存储与类或类的实例相关的数据。数据成员通常模拟该类所表示的现实世界事物的特性。
  • 函数成员,它执行代码。函数成员通常模拟类所表示的现实世界事物的功能和操作。
类是逻辑相关的数据和函数的封闭,通常代表真实世界中的或概念上的事物。
类成员的类型数据成员—存储数据函数成员—执行代码
字段
常量
方法
运算符
属性
构造函数
析构函数
索引
事件

运行中的程序是一组相互作用的对象。

4.2 声明类
class MyExcellentClass
{
成员声明
}

4.3 类成员
字段和方法是最重要的类成员类型。字段是数据成员,方法是函数成员。

4.4 字段
字段是隶属于类的变量。
    • 它可以是任何类型,无论是预定义类型还是用户定义类型。
    • 和所有变对照表一样,字段用来保存数据,并具有如下特征:
      • 它们可以被写入;
      • 它们可以被读取;
与C和C++不同,C#在类型的外部不能声明全局变量(也就是变量或字段)。所有的字段都属于类型,而且必须在类型声明内部声明。

4.5 方法
方法是具有名称的可执行代码块,可以从程序的很多不同地方执行,甚至从其他程序中执行。
声明方法的最简语法包括以下成分。
    • 返回类型:它声明了方法返回值的类型。如果一个方法不返回值,那么返回类型被指定为void。
    • 名称:方法的名称。
    • 参数列表:它由至少一对空的圆括号组成。如果有参数,它们被列在圆括号中间。
    • 方法体:它由一对大括号组成,大括号内包含执行代码。
与C和C++不同,没有全局函数(也就是方法或函数)声明在类型声明的外部。

4.6 创建变量和类的实例
类的声明只是用于创建类的实例的蓝图。一旦类被声明,就可以创建类的实例。
  • 类是引用类型。要为数据引用和实际数据两者都申请内存。
  • 数据的引用保存在一个类类型的变量中。所以,要创建类的实例,需要从声明一个类类型的变量开始。如果变量没有被初始化,它的值是未定义的。
4.7 为数据分配内存
声明类类型所分配的内存是用来保存引用的,而不是用来保存类对象实际数据的。要为实际数据分配内存,需要使用new运算符。
  • new运算符为任意指定类型的实例分配并初始化内存。它依据类型的不同从栈或堆里分配。
  • 使用new运算符组成一个对象创建表达式,它的组成如下:
    • 关键字new
    • 要分配内存的 实例的类型名称。
    • 成对的圆括号,可能包括参数或没有参数,以后会进一步讨论参数。
  • 如果内存分配给一个引用类型,则对象创建表达式返回一个引用,指向在堆中被分配并初始化的对象实例。
综合步骤
两个步骤可以通过使用对象创建表达式初始化变量的方法结合到一起。
Dealer theDealer = new Dealer();  //声明并初始化。  

4.8 实例成员
类声明相当于蓝图,通过这个蓝图想创建多少个类的实例都可以。
  • 实例成员:类的每个实例都是不同的实体,它们有自己的一组数据成员,不同于同一类的其他实例。因为这些数据成员都和类的实例相关,所以被称为实例成员。
  • 静态成员:实例成员是默认类型,但也可以声明与类而不是实例相关的成员,它们被称为静态成员。
4.9 访问修饰符
从类的内部,任何函数成员都可以使用成员的名称访问类中任意的其他成员。
访问修饰符是成员声明的可选部分,指明程序的其他部分如何访问成员。访问修饰符放在简单声明形式之间。
字段
访问修饰符 类型 标识符;
方法
访问修饰符 返回类型 方法名()
{
}
5种成员访问控制如下
  • 私有的(private)
  • 公用的(public)
  • 受保护的(protected)
  • 内部的(internal)
  • 受保护内部的(protected internal)
私有访问和公有访问
私有成员只能从声明它的类的内部访问,其他的类不能看见或访问它们。
    • 私有访问是默认的访问级别,所以,如果一个成员在声明时不带访问修饰符,那它就是私有成员。
    • 还可以使用private访问修饰符地声明一个成员为私有。
    • 隐式地声明私有成员和显式地声明没有语义上的不同。
公有成员可以被程序中的所有其他对象访问。必须使用public访问修饰符指定公有访问。
公有访问和私有访问图示
  • 类成员被表示为类框中的小标签框。
  • 私有成员这疲表示为完全封闭在它们的类框中。
  • 公有成员被表示为部分伸出到它们的类框之外。
4.10 从类的内部访问成员
类的成员仅用其他类成员的名称就可以访问它们。

4.11 从类的外部访问成员
要从类的外部访问实例成员,必须包括变量名称和成员名称,中间用句点(.)分隔。这称为点运算符。
0 0
原创粉丝点击