惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Help Net Security
Help Net Security
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
LINUX DO - 热门话题
Security Latest
Security Latest
A
Arctic Wolf
G
GRAHAM CLULEY
月光博客
月光博客
S
Securelist
D
Docker
J
Java Code Geeks
T
Troy Hunt's Blog
T
Tenable Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Forbes - Security
Forbes - Security
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
云风的 BLOG
云风的 BLOG
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
L
Lohrmann on Cybersecurity
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed

博客园 - 老杨的地盘

数据库设计规范化(转) 一个双色球程序 .Net Framework 基础 NHibernate一个组件NHibernateIT C#中的一种Singleton的实现(转) Bind和Eval的区别详解(转) 胜任素质--哈佛大学教授麦克里兰 (McClelland)有效地预测外交官实际工作业绩的人员选拔方法 人生必看的27个小故事 打工者的三个忠告 成功路上的四盏灯 button按钮失灵的问题 30岁以前不必在乎的29件事情 js里取得输入框数字的函数 语录 札记:"没有可用的错误信息: DB_SEC_E_AUTH_FAILED(0x80040E4D)。 " 札记: Win2003 重装与IIS6.0 “HTTP 错误 404 - 文件或目录未找到” C#正则表达式快速入门 也谈"未将对象引用设置到对象的实例" 2005图书排行榜
抽象类与接口建议
老杨的地盘 · 2007-12-15 · via 博客园 - 老杨的地盘

   抽象类型和接口是用于指定编程抽象的两种机制。抽象指定继承者或实施者必须遵循的一个协定。抽象类型可以选择提供实现的详细信息;而接口不能提供实现的任何详细信息。

  • 类可能只是从一个基类继承,所以如果要使用抽象类为一组类提供多态性,这些类必须都是从那个类继承的。
  • 抽象类还可能提供已实现的成员。因此,可以用抽象类确保特定数量的相同功能,但不能用接口这样做。

这里是一些建议,帮助您决定使用接口还是抽象类为组件提供多态性。

  • 如果预计要创建组件的多个版本,则创建抽象类。抽象类提供简单易行的方法来控制组件版本。通过更新基类,所有继承类都随更改自动更新。另一方面,接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口。
  • 如果创建的功能将在大范围的全异对象间使用,则使用接口。抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。
  • 如果要设计小而简练的功能块,则使用接口。如果要设计大的功能单元,则使用抽象类。
  • 如果要在组件的所有实现间提供通用的已实现功能,则使用抽象类。抽象类允许部分实现类,而接口不包含任何成员的实现。

参考:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcon/html/vbconabstractclassesversusinterfaces.asp