C语言学习笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

类的成员:

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

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

访问修饰符:

修饰成员的可访问范围。

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)声明构造函数时指明最先执行的构造函数:先执行基类的方法,在执行派生类的方法。

相关文档
最新文档