黑马程序员.net学习笔记2--接口,抽象类小结。

来源:互联网 发布:恒安嘉新 知乎 编辑:程序博客网 时间:2024/05/23 13:07

----------Windows Phone 7手机开发、.Net培训、期待与您交流!!----------------

           接口,抽象类悲剧啊,这两个东东有点郁闷,进过研究还是有点想法。首先概念上接口是一组包含了函数型方法的数据结构。抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性 。抽象类的实现体中可以有方法,包括普通方法和抽象方法,而普通方法是有方法体的, 同时对于继承了这一抽象类的基类,也是可以对抽象方法重写,这里不一定需要将所有抽象类的方法全部实现,只有抽象类中的抽象方法才必须要在基类中实现。接口就不同啦,接口实现体中的所有方法,属性,变量等,都必须在继承该接口的类或接口中实现。再来说继承方式,抽象类只能继承一个父类,但是接口就可以继承多个接口。这也一定程度上弥补了类不可以多继承的缺点。使用的时候,抽象类和接口都不可以实例化,只有依靠实现他们的类或接口。

接口

1、一个接口就相当于一个抽象类,但是它不能包含任何实现方法。
2、接口的每种方法都必须在派生类中实现。
3、接口有时候可以看成是类的模具,它指明一个类该提供哪些内容。
4、接口主体只限于方法、索引器、属性的声明。
5、接口中不能包含字段、构造函数和常量等。
6、接口成员是隐式公开的,如果对其显式指定访问级别,就会出现编译器错误。
7、在接口中不能实现任何方法,属性或者索引器。
8、在指定方法时,只需给出返回类型、名称和参数列表,然后以分号结束。
9、实现接口的语法与实现继承一样,都用冒号“:”

抽象类

1、一个抽象类可以同时包含抽象方法和非抽象方法。
2、抽象方法只在派生类中真正实现,这表明抽象方法只存放函数原型,不涉及主体代码,
3、派生自抽象类的类需要实现其基类的抽象方法,才能实例化对象。
4、使用override关键子可在派生类中实现抽象方法,经override声明重写的方法称为重写基类方法,其签名必须与override方法的签名
----------Windows Phone 7手机开发、.Net培训、期待与您交流!!----------------