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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 如远行客 中级黑马   /  2013-12-17 22:51  /  1314 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 如远行客 于 2013-12-17 22:55 编辑

抽象类和抽象方法
   在声明中使用abstract关键字修饰的类称为抽象类,抽象类具有以下特点:
    ◆  抽象类不能实例化。
    ◆  抽象类可以包含抽象方法和抽象访问器。
    ◆  抽象类中可以存在非抽象成员  

    ◆  从抽象类派生的类,如果是抽象类,可以不实现抽象类中的成员,但是继承到最终的子类时一定要全部实现基类中的抽象成员;如果派生类不是抽象类,则必须实现基类中全部的抽象成员。
    ◆  抽象类不能与sealed关键字一起使用,因为抽象类是必须被继承的,而用sealed关键字修饰表示该类不能被继承。
   抽象类中可以包含抽象方法。虚方法是需要有实现体的方法,在现实开发过程中,如果不需要实现实现,或者知道怎么去实现这个方法,那么就可以将这个方法定义为抽象方法。
   抽象方法具有如下特性:
    ◆  抽象方法是隐式的虚方法。
    ◆  抽象方法只允许在抽象类中声明。
    ◆  抽象类不允许有实现体,在声明抽象方法时,只写出方法名后加一个分号即可,连后面的{ }都不能有。
    ◆  在实现抽象方法时,需要使用关键字override。
    ◆  在声明抽象方法时不能一起使用static或virtual关键字。
    ◆  抽象方法也不能是私有的,否则无法在子类中实现。
   例如:
          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Text;
          namespace 抽象类
          {
                  class Program
                  {
                        static void Main(string[] args)
                        {
                                B b = newB(5, 7);
                                int sum= b.fun();
                                Console.WriteLine("运行实现的抽象函数得到结果: {0}",sum);
                                Console.ReadKey();
                        }
                  }
                 abstract class A    //声明抽象类
                 {
                       public abstract int fun();    //声明抽象方法
                 }
                class B : A
                 {
                       int x, y;
                       public B(int x1,int y1)     
                       {
                             x=x1;
                             y=y1;
                       }
                       public override int fun()   //抽象方法的实现
                       {
                             return x + y;
                       }
                }
       }
   程序运行结果如下:
   

抽象方法.PNG (22.09 KB, 下载次数: 11)

抽象方法.PNG

评分

参与人数 1技术分 +1 收起 理由
V_John + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马