关于接口,我一直没明白,谁点拨下
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
http://community.csdn.net/Expert/topicview.asp?id=5655443
他们设置了哪些标签:
谁收藏了这个网址:
时间:2007-7-15 22:35:11 | 相关网摘
接口
时间:2007-7-16 12:50:10 | 相关网摘
时间:2007-7-16 14:43:36 | 相关网摘
时间:2007-7-16 18:40:50 | 相关网摘
时间:2007-7-17 9:53:50 | 相关网摘
时间: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