æ½è±¡æ¹æ³
使ç¨abstractå
³é®å public abstract bool Withdraw(â¦);
æ½è±¡æ¹æ³æ¯å¿
须被派çç±»è¦åçæ¹æ³ã
æ½è±¡æ¹æ³æ¯å¯ä»¥çææ¯æ²¡æå®ç°ä½çèæ¹æ³
å¦æç±»ä¸å
å«æ½è±¡æ¹æ³ï¼é£ä¹ç±»å°±å¿
é¡»å®ä¹ä¸ºæ½è±¡ç±»ï¼ä¸è®ºæ¯å¦è¿å
å«å
¶å®ä¸è¬æ¹æ³
èæ¹æ³
使ç¨virtualå
³é®å public virtual bool Withdraw(â¦);
è°ç¨èæ¹æ³ï¼è¿è¡æ¶å°ç¡®å®è°ç¨å¯¹è±¡æ¯ä»ä¹ç±»çå®ä¾ï¼å¹¶è°ç¨éå½çè¦åçæ¹æ³ã
èæ¹æ³å¯ä»¥æå®ç°ä½
è¥ä¸ä¸ªå®ä¾æ¹æ³ç声æä¸å«æ virtual 修饰符ï¼å称该æ¹æ³ä¸ºèææ¹æ³ï¼ä¸ä¸ªèææ¹æ³çå®ç°å¯ä»¥ç±æ´¾çç±»å代ãå代æ继æ¿çèææ¹æ³çå®ç°çè¿ç¨ç§°ä¸ºéå该æ¹æ³ï¼å¨ä¸ä¸ªèææ¹æ³è°ç¨ä¸ï¼è¯¥è°ç¨ææ¶åçé£ä¸ªå®ä¾çè¿è¡æ¶ç±»åç¡®å®äºè¦è¢«è°ç¨ç究ç«æ¯è¯¥æ¹æ³çåªä¸ä¸ªå®ç°ã
èå½æ°çéå¶ï¼
1.èå½æ°ä»
éç¨äºæ继æ¿å
³ç³»ç类对象, æ以åªæç±»çæåå½æ°æè½è¯´æ为èå½æ°.
2.éææåå½æ°ä¸è½æ¯èå½æ°.
3.å
èå½æ°ä¸è½æ¯èå½æ°.
4æé å½æ°ä¸è½æ¯èå½æ°.
5.ææå½æ°å¯ä»¥æ¯èå½æ°.
ç®åç¹è¯´,æ½è±¡æ¹æ³æ¯éè¦åç±»å»å®ç°ç.èæ¹æ³,æ¯å·²ç»å®ç°äº,åç±»å¯ä»¥å»è¦ç,ä¹å¯ä»¥ä¸è¦çåå³äºéæ±.
å¦
public abstract class AUser
{
public abstract UserInfo getUser();
public virtual void Save(UserInfo info)
{
//å®ç°ä¿åçåè½
}
}
public class UserSqlServer:AUser
{
public override UserInfo getUser()
{
//ä¸å®è¦å®ç°ç,æ½è±¡ç±»åªç»äºæ½è±¡æ¹æ³
}
//å设æ½è±¡ç±»é对SqlServerå®ç°çåè½,è¿éä¸éè¦å®ç°äº.
}
public class UserOracle:AUser
{
public override UserInfo getUser()
{
//ä¸å®è¦å®ç°ç,æ½è±¡ç±»åªç»äºæ½è±¡æ¹æ³
}
//å设æ½è±¡ç±»é对Oracleå®ç°çåè½
public override void Save(UserInfo info)
{
//è¦çæ½è±¡ç±»ä¸çSaveæ¹æ³
}
}
以ä¸åªæ¯ä¾å,çå®å¹¶ä¸è¿ä¹å.
温馨提示:答案为网友推荐,仅供参考