分类:IT技术 |
抽象方法:
例如 : 下面这个
public abstract class Thc123_Com
{
}
public class Thc123_Net : Thc123_Com
{
}
=========================================================================================
在讲接口之前呢我又想跟大家吹下牛,大家知道我们的组装计算机,即便是那些品牌机他实际上也是来自很多不同的厂商然后组装起来的,那么这写硬件之间就有一个必然的联系,那就是他们之间一定要有规范的接口,可是就拿我们的主板来说吧,这个CPU,他既可以是赛阳的,也可以是奔腾的,更可以是速龙,闪龙,当然我跟特别非常十分希望再加上一个咱们中国的CPU品牌,这些CPU肯定采用了一些不同的运算方式啊,所以说我们这个接口就还要学会一点(我们常常劝老人的话,他只要在孝顺你,你就别关他那么多的家务事),说得太好了,我们的接口还要做的事就是不管对方是怎么实现的,反正你插到这里面((*&^#@*&^%$%^$$#$)你就要实现具体的功能,至于你怎么实现就不管那么多了.
接口:他呢其实也是一种特殊的抽象类,用 interface 关键字标记,他的定义没有 class关键字,他可以包含方法和属性和事件,但是方法也只能是虚拟方法,任何派生于该接口的类就必须提供执行的代码.任何接口成员前面都不能加修饰符.
接口可用的修饰符有 new
接口和类一样,可以被继承和发展,但不同的是,类继承不仅说明继承也会实现继承,但是接口继承只是说明继承,通俗的说,派生类可以继承基类的方法实现,而派生接口只是继承父接口的方法说明,却没有继承父接口的实现.
语法:
interface Ibook
{
}
接口相关知识:
1.声明在接口中的方法,不可以包含方法的内容区块,简单来说就是不能有大括号存在,例如下面
public interface Ibook
{
}
2. 实现接口的类就要这样写
{
}
3 .
(1).实现一个接口就必须完成接口里的所有方法.(就好象谁家有几个女儿,有漂亮的有对不起观众的,我要去娶那个漂亮的,然后人家开口了,小伙子,你要娶我女儿可以,但是你必须把几个女儿全部娶了,否则我会让你后悔一辈子.)
(2).在实现的类中又有几点必须遵循的(我倒,都三重编号了,看来我写的书后期编辑是件很棘手的事)
(3) . 接口内的方法不能用 virtual
下面我们继续来看下个例题
另外还有一种呢就是以明确的方式实现接口
简单来说就是方法前面必须加上接口的名称.这个解释起来没有看起来明确,来吧,看这里(怎么听这话有点怪怪的,难道是我思想不健康,按理说我算是生在阳光下,长在花丛中(不过18岁以后我就基本上是成长在一群花虫 中了),没理由思想会这么XX啊.)
下面针对抽象类和接口做一个详细的对比
抽象类( abstract method | 接口 ( |
可以包含实现区块 | 不能包含实现区块 |
可以包含抽象方法 | 不能包含抽象方法 |
可以包含非public成员 | 不可以包含非public成员 |
能继承其他的类,包含非抽象类 | 能继承其他接口 |
可以控制版本 | 无法控制版本 |
不能被实例化 | 不能被实例化 |
virtual:
override: