类和接口的定义:

  • 类用class关键字定义,而接口用Interface关键字定义。

  • 可以使用public , internal 关键字定义类和接口的可访问性;

  • 类可以定义为abstract或sealed,以控制继承性;

  • 父类和父类接口在一个用逗号分隔的列表中指定,放在类或接口名和一个冒号的后面。

  • 在类定义中,只能指定一个父类,且必须是列表中的第一项;

1.       类的定义

 

18. C# -- 类,接口,构造函数,析构函数,_C#

2.  抽象类(可继承,不能实例化

18. C# -- 类,接口,构造函数,析构函数,_C#_02

3.  密封类(不可继承)

18. C# -- 类,接口,构造函数,析构函数,_类_03

4.  类的继承

18. C# -- 类,接口,构造函数,析构函数,_接口_04

内部类可以继承于一个公共基类,但公共基类不能继承于一个内部类。

类继承于接口和类,所有接口成员都必须在支持该接口的类中实现。

18. C# -- 类,接口,构造函数,析构函数,_接口_05

5. 类中可以使用的访问修饰符组合:

18. C# -- 类,接口,构造函数,析构函数,_接口_06

6. 接口的定义,接口不包含实现代码,都在类中实现。

18. C# -- 类,接口,构造函数,析构函数,_类_07

7. 接口的继承

18. C# -- 类,接口,构造函数,析构函数,_接口_08

8. System.object基类

所有的类都继承于system.object

 Object 包括的方法:

18. C# -- 类,接口,构造函数,析构函数,_类_09

18. C# -- 类,接口,构造函数,析构函数,_类_10

GetType()typeof()的使用:

18. C# -- 类,接口,构造函数,析构函数,_类_11

9. 构造函数和析构函数:编译器会自动添加它们,初始化和清理对象

构造函数和析构函数:

  • 类自动带有默认的构造函数和析构函数的实现代码,我们很少需要提供自己的析构函数,可以使用可访问性,类名和可能需要的任何参数来定义构造函数。

  • 基类的构造函数在派生类的构造函数之前执行。

  • 使用thisbase构造函数初始化关键字,可以控制类中这些构造函数的执行顺序;

 

构造函数执行顺序:

18. C# -- 类,接口,构造函数,析构函数,_接口_12

18. C# -- 类,接口,构造函数,析构函数,_类_13

10.析构函数

18. C# -- 类,接口,构造函数,析构函数,_类_14

.Net Framework 能确保调用Finalize () 方法

 

11. Class view中的符号

 

18. C# -- 类,接口,构造函数,析构函数,_接口_15

18. C# -- 类,接口,构造函数,析构函数,_C#_16

 

12.对象浏览器:

View-object browser

18. C# -- 类,接口,构造函数,析构函数,_C#_17

添加类,所创建的类名以文件名命名。

Add-new item

13.类图:show base type

18. C# -- 类,接口,构造函数,析构函数,_接口_18

18. C# -- 类,接口,构造函数,析构函数,_接口_19

18. C# -- 类,接口,构造函数,析构函数,_接口_20

 

14.类库项目:

类库:

  • 可以创建只包含类定义的类库项目,这些项目不能直接执行,而必须通过客户代码在可执行程序中访问,VSVCE为创建,修改和测试类提供了各种工具

类系列:

  • 类可以组合为系列,以提供公共的操作或共享公共的特性。为此,可以重共享的基类(可以是抽象的)中继承,或者实现接口;

 

类库项目编译为.dll程序集,在其他项目中添加对类库项目的引用,就可以访问它的内容。Project—add reference