IPoint point1 = new PointClass(); c# 接口问题

我想知道 IPoint 是接口 point1是接口名 为什么这个new PointClass 可以赋值给point1 我知道 point1 是引用类型 那是不是所有的其他引用类型都可以为它赋值? 在线等 急急

这个PointClass 实现了IPoint 接口,就可以这么写:
IPoint point1 = new PointClass();

如果其它引用类型没有实现IPoint接口,那么是不能这么写的

也就是说,你可以用这种写法:
父类型或父接口 实例名 = new 子类型();追问

我在想问下 IPoint point1 = new PointClass(); point1.putcords();
为什么一定要这样给point1 赋值?

追答

你也可以用
PointClass point1 = new PointClass();
但是因为面向对象编程的需要,经常是多方合作开发,这样就需要A和B定义一个接口
A实现接口,B直接用这个接口实例的方法,不需要了解实例是怎么实现的

你要好好学习一下面向对象的基本概念了

追问

你说的是 类 的实列化 这个我懂 但是到了接口这个样子 的我就懵了

追答

接口其实和父类有点类似
多学习一下面向对象的概念,再来看看代码,你会理解多一些

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-06
多态的体现
相似回答