点点滴滴


         从点开始绘制自己的程序人生
posts - 39, comments - 2, trackbacks - 8, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

抽象 虚方法 接口 的区别

Posted on 2006-11-17 17:39 点点滴滴 阅读(637) 评论(0) 编辑 收藏
抽象方法:尚未实现的方法.
虚方法: 可以在该类的继承自类中改变其实现的方法.
接口:  一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现.

Example:

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Abstract \r\n");
            AbstractChild aChild = new AbstractChild();
            aChild.Show();

            Console.WriteLine("\r\nVirtual \r\n");
            VirtualChild vChild = new VirtualChild();
            vChild.Show();

            Console.WriteLine("\r\n Interface \r\n");

            Child iChild = new Child();
            iChild.Show();

            Console.Read();

        }
    }

    public abstract class AbstractParent
    {
        public abstract void Show();
    }

    public class AbstractChild : AbstractParent
    {

        public override void Show()
        {
            Console.WriteLine("Child called.");
        }
    }

    public class VirtualParent
    {
        public virtual void Show()
        {
            Console.WriteLine("virtual Parent called.");
        }
    }

    public class VirtualChild : VirtualParent
    {
        public override void Show()
        {
            Console.WriteLine("virtual Child called.");
        }
    }

    public interface IParent
    {
        void Show();
    }

    public class Child : IParent
    {

        public void Show()
        {
            Console.WriteLine("Interface called.");
        }

    }
}