博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

抽象方法和抽象类

Posted on 2010-10-11 20:51  EVON168  阅读(172)  评论(0编辑  收藏  举报

抽象是纯虚的概念,只是定义;

当创建一个类时,有时需要让该类包含一些特殊方法,该类对这些方法不提供实现。但是该类的派生类必须实现这些方法,这些方法称为抽象方法.

抽象类:

抽象方法必须定义在抽象类中.

抽象类中可以出现方法的具体实现或虚方法。

抽象类不能直接通过New实例化,必须通过继承自抽象类的子类来实例化。

语法:加上关键字abstract 无方法体();

优点:抽象方法的优点在于基类无需对抽象方法提供实现,但是基类的派生类必须实现基类中的抽象方法提供实现

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AbstractTest
{
    
public abstract class Computer
    {
        
public abstract void Web();
    }


    
public class PDA : Computer
    {

        
public override void Web()
        {
            Console.WriteLine(
"PDA上网");
        }
    }

    
public abstract class PC : Computer
    { 
        
    }

    
public class IBMPC : PC
    {


        
public override void Web()
        {
            Console.WriteLine(
"IBM上网");
        }
    }

    
class Program
    {
        
static void Main(string[] args)
        {
            Computer pc 
= new IBMPC();
            pc.Web();
        }
    }
}