CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

关于接口问题的疑惑

楼主chuihanwen()2006-11-01 11:40:54 在 .NET技术 / C# 提问

有时候我总觉得一个类中的方法也是一个接口,虽然我并没有在这个类中把它定义为一个接口,比如下面的类:  
  using   System;  
  using   System.Data;  
  using   System.Data.SqlClient;  
  using   System.Data.OleDb;  
  using   System.Data.Odbc;  
  using   System.IO;  
   
  namespace   Class  
  {  
  public   class   DataAccess  
  {  
  public   DataAccess()  
  {  
  }  
   
  public   static   string   ConnectionStrBySql  
  {  
  get  
  {  
                          return   "server=127.0.0.1;user   id=sa;password=clsoft;database=myweb";  
  }  
  }  
   
  public   static   DataTable   GetSqlData(string   sql)  
  {  
  DataSet   ds   =   new   DataSet();  
  SqlDataAdapter   dsCommand   =   new   SqlDataAdapter();  
                                                          ......  
                    conn.Open();  
                                                          ......  
  return   ds.Tables[0];  
  }  
                                      ......  
                    }  
  }  
  在这个类中,我并没有定义接口,但是我可以在任务项目中把它封成一个DLL使用它,我也不用关心其中的结构,我只需要这样Class.DataAccess.ConnectionStrBySql调用它来设置连接字符串或这样Class.DataAccess.GetSqlData   (str_sql)执行SQL语句就行了,从某种意义上来讲,方法不也是一种接口吗?  
  不知道我这样理解对不对,请大家指导! 问题点数:30、回复次数:6Top

1 楼copine()回复于 2006-11-01 11:47:07 得分 5

引入interface的作用是为了抽象,面向抽象编程原则,使你的上层代码和下层的具体实现剥离开来,这样可以最大限度的共用公共逻辑,灵活的在你的系统中插入新的功能,这才是接口的意义,建议阅读《java与模式》。Top

2 楼byhum(sigh....唯一的缺点就是干净)回复于 2006-11-01 11:52:46 得分 0

ding......Top

3 楼Macosx(结贴)回复于 2006-11-01 12:29:53 得分 5

程序接口和编程语言中的接口是两个概念Top

4 楼qltouming(缘木渔人-临渊羡鱼,不若退而结网)回复于 2006-11-01 12:46:19 得分 15

不对。  
  接口是抽象的,对象是具体的。  
  接口只能被派生或继承,不能直接使用。  
  你的那个用法,是类的用法。  
  你的理解,只是从字面上理解的生活中的“接口”或者说字典上的“接口”,而不是面向对象中对于“接口”的定义和要求。  
  像你这样的思维,最好别看中文译著,直接用interface来把握理解可能会更好一点  
   
  Top

5 楼foyuan(暴走零零漆)回复于 2006-11-01 13:17:25 得分 5

严重错误  
   
  接口是没有方法的具体实现  
   
  Top

6 楼chuihanwen()回复于 2006-11-01 13:27:14 得分 0

qltouming(缘木渔人)说的有道理,看来我是在字面上把“接口”这个概念给混淆了,有点“顾名思意”了Top

相关问题

关键词

得分解答快速导航

  • 帖主:chuihanwen
  • copine
  • Macosx
  • qltouming
  • foyuan

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo