using System;
using System.Collections.Generic;
using System.Text;
namespace 类的继承问题04
{
    class Program
    {
        static void Main(string[] args)
        {
            A Aa;  //定义一个引用变量 虽然抽象类不可以实例化,但可以声明抽象类的引用变量
            C Ca = new C();
            Aa = Ca;
            Aa.AbstractMethod01(); //调用C类实现的AbstractMethod01()方法,这个是通过多态实现的
            Aa.NotAbstractMethod();//调用自身的非抽象方法
B Ba;  //定义一个引用变量  虽然抽象类不可以实例化,但可以声明抽象类的引用变量
            Ba = (B)Aa;
            Ba.AbstractMethod01();//调用C类实现的AbstractMethod01()方法,原因是多态
            Ba.AbstractMethod02();//调用C类实现的AbstractMethod02()方法,原因是多态

            Console.ReadKey();
        }
    }
    abstract class A
    {
        public abstract void AbstractMethod01();//抽象方法,没有主体,结尾以分号结束
        public abstract void AbstractMethod02();//抽象方法,没有主体,结尾以分号结束
public void NotAbstractMethod()
        {
Console.WriteLine("抽象类A中的非抽象方法");
        }
}
    abstract class B : A //派生自抽象类A的B可以不实现其抽象方法,但要保证B类也必须是抽象的才行
    {
        public override void AbstractMethod01()   //,派生类B中实现了基类A中的一个抽象方法,另一个不实现是可以的
        {                                         //也就是说,派生类可以不完全实现抽象基类的抽象方法,此时这个派生类必须也是抽象的
Console.WriteLine("B类实现的抽象方法01");
        }
    }
    class C : B    //最中实现了A类中的抽象方法,终于冲破了“抽象诅咒”
    {
        public override void AbstractMethod01()
        {
//throw new Exception("The method or operation is not implemented.");
base.AbstractMethod01();       //通过base可以调用抽象基类中的抽象方法,此时是调用基类B中的AbstractMethod01()方法
Console.WriteLine("C类实现的抽象方法01");
        }
        public override void AbstractMethod02()
        {
            //throw new Exception("The method or operation is not implemented.");]
            Console.WriteLine("C类实现的抽象方法02");
        }
}

    abstract class F : A  //虽然F类派生自抽象类A,但它可以一个也不实现A中的抽象方法
    {                     //但要保证F是抽象类
}
    class E : F
    {
        public override void AbstractMethod01()
        {
            Console.WriteLine("E类实现的抽象方法01");
        }
        public override void AbstractMethod02()
        {
Console.WriteLine("E类实现的抽象方法02");
        }
    }
}

C#中类的继承问题04相关推荐

  1. python类与继承person类_关于python中类的继承及self

    关于python中类的继承及self 如下,如果调用student类,则可以正常运行,但是如果去掉consumer.__init__(self, fee)中的self,将其改成consumer.__i ...

  2. python类方法继承_对python中类的继承与方法重写介绍

    1.单继承 父类也叫基类 子类也叫派生类 如下所示,继承的关系: 继承的书写格式: class 子类(父类): 方法 实例: class Animal: def eat(self): print(&q ...

  3. python3类的继承详解_python3中类的继承以及self和super的区别详解

    python中类的继承: 子类继承父类,及子类拥有了父类的 属性 和 方法. python中类的初始化都是__init__().所以父类和子类的初始化方式都是__init__(),但是如果子类初始化时 ...

  4. python中类的继承关系使用什么符号表示_智慧职教: Python中类的继承关系使用( )符号表示?...

    智慧职教: Python中类的继承关系使用( )符号表示? 答:2, 芭娜娜频繁描写死亡的真正意图是什么?() 答:寻求走出死亡阴影,重获新生的途径 中国大学MOOC: 脂肪是对人体不好的营养素 答: ...

  5. java中的类的继承_再谈Java中类的继承

    上篇博客谈到了Java中类的继承,但是那些远远不能满足我们在实际操作中的需要,那么怎么才能让子类的功能更强大,并且具有父类的属性呢? 一: 父类 1 public classA {2 3 final ...

  6. python中类的继承规则

    python中类的继承规则 在学习python中的继承规则之前,首先要知道python中类的划分. 只要继承object类的就是新式类,不继承object类的都是经典类. 在python3中,所有的类 ...

  7. C++中类的继承方式的区别以及private public protected 范围

    第一:private,public,protected方法的访问范围. private: 只能由该类中的方法访问,不能被该类的对象访问. protected: 可以被该类中的方法和其友元函数访问,但不 ...

  8. python3中类的继承

    用简单的一句话来理解:继承,这样理解就对了,你的就是我的,但是我的还是我的,但是你有我也有的,我就不稀罕你的,所以调用了父类的时候,self就是我,而不是你 子类继承父类,即子类拥有了父类的属性和方法 ...

  9. Python中类的继承方法

    Python中类与类之间可以继承,继承的叫父类或超类,新创建的叫子类.通过继承,子类可以使用父类的属性,这样可以有效减少代码的冗余度,提高代码重用性. 谈到类的继承,首先要了解构造函数或构造方法. 构 ...

最新文章

  1. 纯生信发ISME的一次试炼
  2. matlab clabel函数用法,CLabel函数说明
  3. 根据mysql数据库日志恢复删除数据
  4. MySQL-ProxySQL中间件(一)| ProxySQL基本概念
  5. java pdf 类库_有哪些可以给pdf加水印,java第三方开源类库?
  6. Pandas Period
  7. 卡尔曼滤波和粒子滤波最直白的解释
  8. ENVI入门系列教程---一、数据预处理---3.1 基于自带定位信息的几何校正
  9. quartus 14.1破解失败解决方案
  10. 如何进行远程协作办公?
  11. C# 实验五 银行系统
  12. Ajax学习一 创建Ajax对象(高洛峰)
  13. android 无法后台运行,安卓模拟器无法后台?
  14. 我是谁,读《薇娅:人生是用来改变的》有感
  15. 考研语法整理(简洁版)
  16. Answer Set Programming 回答集编程
  17. Mtime美好时光网 盈利模式
  18. 绿盟科技软件测试招聘,绿盟科技防火墙产品团队招聘——来加入我们把~
  19. 输入指令为±10V或4~20mA型伺服阀控制器
  20. 资深架构师年薪达到50万需具备什么技能?

热门文章

  1. 编程隐藏child指定列_简单的Excel VBA编程问题解答——完美Excel第183周小结
  2. 常用android的smali注入代码,android smali代码注入 实战一
  3. html5做旋转太极图,HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)...
  4. 固定导航栏android,Android 状态栏和导航栏的真终极解决方案
  5. selenium ie 操作cookie_Python3中selenium 怎么操作Cookie?
  6. C语言第五章实验二答案,《C语言程序设计》实验二 参考答案
  7. 中国高校计算机考研:计算机数据结构核心考点解析
  8. alibaba Fastjson的JOSN解析库 -
  9. ssm整合2 增删改
  10. python2.X在linux上的安装