【发布时间】:2013-06-20 06:46:00
【问题描述】:
集合变量或对象的概念是什么,或者我不知道当我创建类的实例并将接口的名称放在左手边时它被称为什么,我知道我们不能创建和对象类型接口。
只有当我声明这些类型的对象时,我需要进一步澄清这个过程的名称或 .Net 所做的细节。
IDataReader oSQLReader = new SqlDataReader();
IDataReader oOLEReader = new OleDbDataReader();
【问题讨论】:
-
试试看Polymorphism
-
这是基本的OO实践,您将编写仅使用接口类型作为形式参数的方法,而不关心作为实际参数传递的具体对象。这样做的原因是,如果稍后您决定使用另一个具体类,例如 OracleDataReader,您将不需要更改仅处理 IDataReader 的方法或代码中的任何内容。
-
感谢大家的回复,是的,我知道那是多态性,但我们称之为这一步?
-
我的意思是当我制作 SqlDataReader oSqlDataReader = new SqlDataReader() 时,我们说我们创建了 SqlDataReader 类型的新对象,当我们制作 IDataReader oSqlDataReader = new SqlDataReader();我们不能说我们创建了 IDataReader 类型的对象...@Davide Piras
标签: c# .net interface object-oriented-analysis