抽象类和接口 我想知道什么是抽象类.什么是接口.它们的特征和区别是什么?我是新人,请前辈们指点... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 抽象类: 是一个类型, 是一个还没有完善类型。里面的方法体,可能有 还没有写的, 不能够new 一个这样类型 的对象。接口: 是一个 命令,是要求, 要求 其它实现这个接口的类,要有这个接口中 所宣布的方法, 所以说: 接口就是要求 这个类要有哪些方法。剩下的: 你自已看吧。 主要不同是; 接口可以当变量来用。假如: 类A 实现了接口I --类A不是抽象类如下:A a= new A();I i = a; 好比: 接口I 只在对象抽取,它要求要实现的部分的(方法,属性) 由 这部分组成 一个类型。 然后new 一个这样的对象, 让这个对象 用(引用的变量)I i;接住。 如果:《1》在C# 中,大家不要把interface 叫做 {接口}, 而称interface 为“类要求”。那就好理解多了。《2》大家也不要把 [抽象类] 叫成 {抽象类} 而把[抽象类] 叫成 “待完类”,就是说还没有完的类,不能 new 一个对象,有待在他的子类再将它写完。 这样就好理解了。 抽象类:将一类具有共同属性和行为的实体,抽象成一个类。如:张三是老师和李四是学生,两个都是人,就可以抽象出一个Person类出来。而张三是老师Teacher类的一个实例(对象),李四是学生Student类的一个实例(对象),Teacher类和Student类都是继承自抽象类Person,但是又各自区别(老师教课,学生听歌)。接口:是为了实现多继承而设计的。当然也可以理解为可扩展,让程序更加灵活而设计的。这两个概念都是面向对象编程的基础,也是经常使用到的,尤其是接口的概念。而且会交叉,配合继承等反复使用。其实接口就可以理解为USB接口,插上去就能用。在软件编程当中,为了使原来的程序能够在原有基础上得以扩展,就可以让类实现这个接口,自然就又多了一个功能。封装、继承、多态,这三点要在面向对象编程实践过程中,反复理解才能深有体会。说的比较乱,希望对楼主有所帮助。 另外补充一点,抽象类当然不能实例化,实例化的都是具体的类,这是不是很好理解呢?能new的都是具体的,不能new的都是抽象的。new就是实例化一个具体的对象。 C# IntPtr[] 转换成Byte[]数组 简单sql语句 C#动态连接数据库如何实现? 关于医疗保险住院的报销 c#问题 有关reflection调用dll方法的问题 为什么我在用.net 2003创建Web应用程序时出错?万分郁闷!!高分求救! 我的这个问题怎么做?还有我的总信誉分怎么老是减呀,结了一个贴子就少了一个,已经少了6分了 新手,问前辈们一个简单的问题 bin文件夹和obj文件夹是有什么用处的? c#制作不规则窗体 如何实现退出再进入仍回到之前页面?
是一个类型, 是一个还没有完善类型。里面的方法体,可能有 还没有写的,
不能够new 一个这样类型 的对象。
接口:
是一个 命令,是要求,
要求 其它实现这个接口的类,要有这个接口中 所宣布的方法,
所以说: 接口就是要求 这个类要有哪些方法。剩下的:
你自已看吧。
接口可以当变量来用。假如:
类A 实现了接口I --类A不是抽象类
如下:A a= new A();
I i = a; 好比:
接口I 只在对象抽取,它要求要实现的部分的(方法,属性)
由 这部分组成 一个类型。
然后new 一个这样的对象,
让这个对象 用(引用的变量)I i;接住。
如果:
《1》
在C# 中,大家不要把interface 叫做 {接口},
而称interface 为“类要求”。那就好理解多了。
《2》
大家也不要把 [抽象类] 叫成 {抽象类}
而把[抽象类] 叫成 “待完类”,就是说还没有完的类,不能 new 一个对象,
有待在他的子类再将它写完。 这样就好理解了。