using System;interface IDrivingLicenceB{ void GetLicence();}interface IDrivingLicenceA : IDrivingLicenceB{ new void GetLicence();}class teacher : IDrivingLicenceA{ public void GetLicence() { Console.WriteLine("教师获得A驾驶执照"); }}class student : IDrivingLicenceB{ public void GetLicence() { Console.W...
abstract修饰符可以和类,方法,属性,索引器及事件一起使用,在类中声明使用abstract修饰符以指示某个类只能是其他类的基类。标记抽象或包含在抽象类中的成员必须通过从抽象类派生出来的类实现。
抽象类是隐式的虚方法,
只允许在抽象类中使用抽象方法,
因为抽象类不提供实现的实体,所以没有方法体,方法的声明只以一个分号结束,并且在签名后没有( {} ),实现由重写方法提供(继承类中 override修饰)。
抽象类不能实例化,
抽象方法不能是私有的,
不能在抽象方法中使用static和virtual关键字。
不要在抽象类中定义公共的(public)和受保护的构造函数(pr...
using System;class Publisher //出版商{ public delegate void Publish();//声明事件所要的代理 public event Publish OnPublish;//声明一个事件 public void issue() //触发事件 { //判断是否有这一事件的触发代理 if(OnPublish!=null) //事件是一个名词,而不是一个方法。 { Console.WriteLine("发行杂志"); OnPublish(); } }}class Subscriber //订阅者{ public void Re...
using System;delegate void delegateEat(string food);class man{ private string peop; public man(string peop) { this.peop=peop; } public void maneat(string food) { Console.WriteLine(peop+"吃 "+food); }}class test{ //params 多个参数/在此为delegateEat委托数组 static void togetheat(string food,params delegateEa...
//button事件。
void BtnCtrlClick(object sender, EventArgs e) { BitArray ba=new BitArray(32); int ctrl; try { ctrl=int.Parse(txtCtrl.Text); } catch(System.FormatException) { MessageBox.Show("你所输入的不是数字"); return; } catch(System.OverflowException) { MessageBox.Show("数字...
using System;using System.Windows.Forms;class indexClass{ string[] name=new string[10];//name数组长度为10。 public string this[int index] //返回string类型 index为整型索引项 { get { return name[index]; } set { if(index>9||index<0) //判定下标是否在0-9之间 MessageBox.Show("输入数组下标有误"); else name[index]=value...
using System;class shuxing{ private string m_name; private string m_sex; public void Setm_name(string name) { m_name=name; } public string getm_name() { return m_name; } public void Setm_sex(string sex) { if(sex=="男"||sex=="女") m_sex=sex; else Console.WriteLine("性别必须为男或女"); } public strin...
params 关键字可以指定在参数数目可变处采用参数的方法参数。 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 示例 // cs_params.cs using System; public class MyClass { public static void UseParams(params int[] list) { for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine(list[i]); Console.WriteLine(); } public st...
输入一个数组的长度,将该数组从0开始梯增赋值。
using System;class SetArr{ public void PrintArr(int ArrLength) { int[] arr=new int[ArrLength]; for(int i=0;i<ArrLength;i++) arr[i]=i; Console.WriteLine("The array's vale is:"); for(int i=0;i<ArrLength;i++) Console.WriteLine("arr[{0}]={1}",i,arr[i]); }}class Test{ ...