.NET学习(2) 类,组和名称空间 (3)面向对象程序设计

看了Modern C#系列课程2--类,组和名称空间的笔记,主讲 俞晖

 

类实例化的3种方法:

1 Test mytest = new Test();

2 FileStream fs = File.Create(“data.inp”);

3 使用反射

 

     Q希望能够对new, virtual, override等修饰符方面讲解一下,因为我是从Java转过来的,这一点跟Java不大一样,估计很多人和我一样会困惑

     A:  在继承的时候,子类可以override父类的方法。如果我们声明了一个方法,这个方法的名称和父类一样,但我们并不想应用多态,那我们可以认为这个方法是子类本身的一个方法。但是此方法的名称与父类相同,我们就用new来标识一下,说明这个方法是跟父类跟继承关系无关的。只是子类里面的一个方法而已。在父类中定义virtual方法,就是希望子类去覆写它,重新定义子类的实现。这样子类如果有自己的实现方法,那么我们就使用override来覆写。

Sealed修饰的类不能被继承。

 

Override 多态,虚方法,抽象方法重写,在多个子类中实现同名同参数同返回值的方法。Overload 重载,在一个类中实现多个同名不同参数的方法,返回值可同可不同。

虚方法可以有实现体,用virtual 关键字指定。如果虚方法没有实现体,可以看作抽象方法。有抽象方法的类一定是抽象类。抽象用abstract关键字指定。

接口全部是public的,而且只是定义,没有实现。用interface关键字指定,然后用类继承接口,实现。

类中static的属性和方法可以直接用类名.方法调用 。

看了Modern C#系列课程3--面向对象程序设计的笔记,主讲 俞晖

发布了52 篇原创文章 · 获赞 0 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章