C#(面向对象编程进阶)

一、结构与接口

1.结构

C#的结构体类型(或称为结构)是用户自定义类型的一种, 它为用户将实际应用中数据类型不同,但互相联系的数据看作 一个整体提供了类型支持。结构体是值类型的数据类型,可定义在任意命名空间或类中,使用时在其定义域内使用。语法定义如下:

结构修饰符 struct 结构名
{

}

详细用法如下:

public struct Student//结构体类型名
{
	 //各种成员...:
	 
	 //成员定义格式为: 访问修饰符 成员类型 成员名称
	 //例:
	 public string name;
	 int age;
}

2.接口

接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。接口使得实现接口的类或结构在形式上保持一致。抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。接口本身并不实现任何功能,它只是和声明实现该接口的对象订立一个必须实现哪些行为的契约。抽象类不能直接实例化,但允许派生出具体的,具有实际功能的类。

在C#中声明接口时,使用inferface关键字,定于语法如下:

interface Information//定义接口
{
  string Code{get;set;} //编号属性及实现
  void ShowInfo();//输出信息
}

二、异常处理

C#程序中,可以使用异常处理语句处理异常,主要的异常处理语句有try...catch语句、try...catch...finally语句和throw语句。

三、委托

1.委托的基本概念

委托是面向对象编程的基本思想之一,就是将具有共同特征的某一类具体对象抽象为类。

2. 委托类型的定义

委托是类型,就好像类是类型一样。与类一样,委托类型必须在被用来创建变量以及类型对象之前声明。

代码如下:

 delegate void MyDel(int x);

委托类型声明:

(1)以deleagate关键字开头。

(2)返回类型+委托类型名+参数列表。

3. 声明委托变量

4. 初始化委托变量

(1) 使用new运算符

new运算符的操作数的组成如下:

委托类型名

一组圆括号,其中包含作为调用列表中的第一个成员的方法的名字。方法可以实例方法或静态方法。

(2)使用快捷语法

快键语法,它仅由方法说明符构成。之所以能这样,是因为在方法名称和其相应的委托类型之间有隐式转换。

四、索引器

1.索引器的概念
索引器允许类或结构的实例就像数组一样进行索引。无需显式指定类型或实例成员,即可通过运算符[]设置或检索索引值。索引器类似于属性,不同的是索引器的访问器需要使用参数。

2.索引器的定义
在 C# 中可以使用 this 关键字作为属性名声明索引器,并在方括号内声明参数。索引器也可以使用 C# 中任何有效的访问修饰符,在索引器中为 get 和 set 访问器前指定不同的访问修饰符即可。和属性的定义一样,索引器内也需要定义 get 和 set 访问器,其中 get 访问器返回值。 set 访问器分配值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值