现在的位置: 首页 > 综合 > 正文

黑马程序员_C#基础篇总结5

2017年12月08日 ⁄ 综合 ⁄ 共 992字 ⁄ 字号 评论关闭

1、多态:如果子类和父类的方法重名了,会报绿线,如何把绿线去掉?
方法一:可以再子类的方法的访问修饰符后面加new

方法二:可以再父类的方法上加一个virtual,然后子类在继承父类的时候可以用override来重写父类的方法


2、虚拟成员或抽象成员不能是私有的(virtual、abstract不能与private一起使用),且父类中的方法不能用private或static修饰,重写基

类方法一样可以调用基类方法


3、如果一个方法加上了abstract,那么这个方法就叫抽象方法,同时这个方法所在的类必须用abstract来修饰


4、abstract使用注意:⑴抽象方法没有方法体⑵抽象成员只能存在于抽象类中⑶抽象类可以有非抽象成员⑷抽象类的派生类必须实

现抽象方法体⑸抽象类只能作用于基类,无法实例化


5、override和overload的区别:重载是方法的名称相同,参数或参数类型不同,进行多次重载以适应不同的需要。重写是重新给基

类中函数写个方法体


6、用virtual修饰的方法叫做虚方法,虚方法可以在子类中通过override关键字来重写,常见的虚方法有:ToString() Equals


7、虚方法和抽象方法比较:
⑴前者用virtual修饰,后者用abstract修饰
⑵前者要有方法体,后者不允许有方法体
⑶前者可以被子类override,后者必须被子类override

⑷前者除了密封类都可以写,后者只能在抽象类中写


8、Class1 cl = new Class1();Console.WriteLine(cl);  直接new一个类然后打印这个类的实例,结果会显示这个实例的类型:Class1。 

当override重写Class1的ToString()方法时,打印的结果会改变。


9、接口的定义:interface关键字,接口中可以有属性、方法(未实现),通常以“I”开头,如果一个类即继承了类又实现了接口,那么类

必须写在前面。一个类只能继承一个父类,但可以实现(对于接口不说继承)多个接口


10、C#中的接口和类有什么异同:
不同点:
⑴不能直接实例化接口
⑵接口不包含方法的实现
⑶接口可以多继承,类只能单继承
⑷类定义可以再不同的源文件之间进行拆分
相同点:
⑴接口、类和结构都可以从多个接口继承
⑵接口类似于抽象基类,继承接口的任何非抽象类型都必须实现接口的所有成员

⑶接口和类都可以包含事件、索引器、方法和属性


抱歉!评论已关闭.