C语言学习笔记

  • 格式:doc
  • 大小:25.00 KB
  • 文档页数:6

类的成员:

数据成员:字段:成员变量,描述类的特性值;常量。

函数成员:方法(或称函数):实现特定功能的计算和操作;属性;索引器;事件;运算符;构造函数:名称和类相同的函数;析构函数:名称是类名前加“~”,类无效时执行。

访问修饰符:

修饰成员的可访问范围。

Public:可以在任何地方被访问

Internal:可以在本项目访问

Private:只能在本类访问(默认)

Protected:只能在本类或者子类被访问

对象:

对象是类的实例化,具体格式:

类名 对象名= new 类名(参数)

对象用点运算符“.”来引用类的成员,并受到成员访问修饰符的控制

类成员:

静态成员:使用类名+点运算符“.”来引用,不能用对象引用

静态字段只标记一个储存位置,无论创建多少个实例,静态字段在内存中只占同一区域

实例成员:

构造函数:

名称和类相同的函数。

功能:初始化类的实例,即创建对象时,直接赋值。

1. 每个类都有构造函数,系统会提供一个public类型的默认构造函数。

2. Private类型的构造函数,表达该类不能被实例化,通常用于只含静态成员的类。

3.不能被显示的调用。

访问一个类时,将一方面执行构造函数中的语句,执行构造函数之前,系统会给所有未赋初值的字段设立默认值。

静态构造函数:

用static声明的构造函数,用来初始化类,不能初始化实例或者对象

在给定的程序中至多只能执行一次,程序中第一次执行某事件时,讲触发静态构造函数的执行。

非静态构造函数需要通过实例才干调用。

析构函数:

销毁类内指定的实例。一个类只能有一个析构函数,不能显示调用,系统自动调用,调用时机由公共语言运营时的垃圾回收机制拟定。

只读字段

关键字readonly来修饰,指定字段的数据不可更改。 不能在编译时拟定,而是在运营时拟定。

1) 声明字段时赋值

2) 在构造函数内可以多次被赋值或传递到方法中被改变

This

1) this访问

2) 在声明构造函数时指定最先执行的构造函数。

使用技巧:①当参数和类变量同名时必须使用this。

②使用时避免自己给自己复制

属性

属性是字段的扩展,属于一种标记符,用来保护私有变量。声明格式:

修饰符 类型 属性名

{

get { }

set { }

}

索引器

是属性的一种特例。操作数组内的元素。具体格式:

修饰符 类型this[参数]

{

get { }

set { } }

命名空间:解决类重名问题,相称于“类的文献夹”。

在不同命名空间下的类,不能被直接访问。想要访问别的命名空间下的类有两种方法:

1)通过using引用对方的命名空间

2)写全称 命名空间.类名

第十章 继承与多态

继承:派生类可以从基类继承所有的成员,涉及变量和函数结合属性等。

声明格式:

修饰符 class 类名:基类

{

}

继承规则:

1) 除了object类外,每个类有且只有一个基类,但支持接口的多重继承。程序中没有基类时,那么它的基类就是object。

2) 无论基类成员的访问性如何,所有基类成员都可以被子类继承,构造和析构函数除外。但基类成员可以被继承,不保证子类可以使用这些成员,这取决于成员的访问性。例如基类中的Private从成员可以被继承,但子类不能使用。 3) 子类中可以定义新成员,但不能删除继承成员的定义。

4) 继承可以传递,不能循环,基类的可访问性不能小于子类。

5) 子类中声明与基类相同名称的成员,会将基类中的这些成员隐藏

C#的隐藏

在子类中,可以使用new来明确设立要隐藏基类的同名成员。

多态

实例化时,调用哪个类的构造函数。在子类中重写基类的虚方法,或函数的成员来实现。

虚方法格式:

修饰符 virtual 方法()

{

}

修饰符为override时,表达重写方法。

C#中的虚方法和非虚方法的调用原则如下

1) 调用虚方法时,按对象的运营类型决定被调函数

2) 调用非虚方法时,基类优先。

C#支持两种类型的多态

1) 编译时的多态:对非虚成员,根据传递参数、返回类型等信息实现

2) 运营时的多态:通过虚成员实现。 Base关键字:

1) 用base访问,如在子类中用base访问基类中的方法

2) 声明构造函数时指明最先执行的构造函数:先执行基类的方法,在执行派生类的方法。