首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

关于接口,我一直没明白,谁点拨下


1. Interface, "like a"关系; abstract class, "is a"关系

2. Interface是一种契约, abstract class是事物本质的抽象概括

由以上两点, 什么时候用Interface什么时候用abstract class有看你如何理解你的设计对象, 例如, 某一天你可能会要设计一个Door的类, 它有Open和Close两个功能, 于是

public interface Door
{
void Open();
void Close();
}

public abstract class Door
{
void Open(){};
void Close(){};
}

就目前来说, 你用Interface还是用abstract class基本上没什么区别, 两者都用来描述Door的行为, 只不过用Interface是在强调Door额外的有Open和Close这两个功能, 而用abstract class则是在强调Door自带有Open和Close的能力

走远一点, 假如又有一天, 你要写一个AlarmDoor的类, 这个时候...

public interface AlarmDoor
{
void open();
void close();
void alarm();
}

public abstract class AlarmDoor
{
void open(){};
void close(){};
void alarm(){};
}

现在, 你应该%u



他们设置了哪些标签:




谁收藏了这个网址:


slimfeng收录

时间:2007-7-15 22:35:11 | 相关网摘

接口

sjt000收录

时间:2007-7-16 12:50:10 | 相关网摘

liaoshengjiong收录

时间:2007-7-16 14:43:36 | 相关网摘

aash0收录

时间:2007-7-16 18:40:50 | 相关网摘

bbbbbb888888收录

时间:2007-7-17 9:53:50 | 相关网摘

heiyelidexingxing收录

时间:2007-7-17 11:39:20 | 相关网摘

1. Interface, "like a"关系; abstract class, "is a"关系

2. Interface是一种契约, abstract class是事物本质的抽象概括

由以上两点, 什么时候用Interface什么时候用abstract class有看你如何理解你的设计对象, 例如, 某一天你可能会要设计一个Door的类, 它有Open和Close两个功能, 于是

public interface Door
{
void Open();
void Close();
}

public abstract class Door
{
void Open(){};
void Close(){};
}

就目前来说, 你用Interface还是用abstract class基本上没什么区别, 两者都用来描述Door的行为, 只不过用Interface是在强调Door额外的有Open和Close这两个功能, 而用abstract class则是在强调Door自带有Open和Close的能力

走远一点, 假如又有一天, 你要写一个AlarmDoor的类, 这个时候...

public interface AlarmDoor
{
void open();
void close();
void alarm();
}

public abstract class AlarmDoor
{
void open(){};
void close(){};
void alarm(){};
}

现在, 你应该%u

网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
Copyright © 2000-2008, CSDN.NET, All Rights Reserved