A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 钱灿 中级黑马   /  2012-7-8 11:18  /  1877 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

其成员在基类中没有实现代码……但是基类可以提供成员的实现代码……可不可以举个例子呢?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

正序浏览
class Program
    {

        static void Main(string[] args)
        {
         
            Adult adult = new Adult();
            adult.Drink();
            adult.Sleep();
            Console.ReadKey();


        }
    }
    public abstract class Person
    {
        public abstract void Drink();
        public void Sleep()
        {
            Console.WriteLine("人都躺着睡!");
        }
    }
    public class Adult : Person
    {
        public override void Drink()
        {
            Console.WriteLine("大人大口大口吃!");
        }
    }
希望能帮助你理解

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
孙宁宇 发表于 2012-7-8 11:32
成员在基类中没有实现代码,这句话是不准确的 在基类中是可以实现的
写个最简单的吧 ...

我想我理解错了……应该是抽象基类中的抽象成员在基类中没有实现代码……但可以提供非抽象成员的实现代码……谢谢了:)
回复 使用道具 举报
本帖最后由 孙宁宇 于 2012-7-8 11:39 编辑

成员在基类中没有实现代码,这句话是不准确的 在基类中是可以实现的
写个最简单的吧

  1. <P>    abstract class Person
  2.     {
  3.         public virtual void SayHello()
  4.         {
  5.             Console.WriteLine("我是大人");
  6.         }
  7.     }</P>
  8. <P>    class Child:Person
  9.     {
  10.         public override void SayHello()
  11.         {
  12.             Console.WriteLine("我是小孩");
  13.         }
  14.     }

  15. </P>
复制代码

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马