zoukankan      html  css  js  c++  java
  • A.4继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)

    ylbtech- .NET-Basic: A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)

     A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)

    1.A,运行效果图返回顶部
     
    三、继承

    1、继承的语法实现:
    class 子类名 : 基类名{}

    2、子类构造方法的实现,及base关键字的使用; ---super
    1)通过base子类可以访问基类的成员,
    2)在子类的构造方法中可以通过 base来访问基类的构造方法:
    public 子类构造(参数列表) : base(参数列表)
    {

    }

    3、方法的重写(覆盖)
    public 返回值类型 方法名(); //会出现警告的
    OR
    new public 返回值类型 方法名();

    如果,new 后面的方法声明,不构成对父类方法的覆盖,不会报错, 但会有警告


    总结:
    override:如果被重写方法时virtual,abstract
    new,除此以外,重写都可以用new ,或者不写


    4、虚函数virtual和多态的实现;
    虚函数(virtual):主要目的就是为了让子类重写,这样的方法可以有方法体
    abstract

    子类的重写格式 :
    override 返回类型 方法名()
    5、抽象方法和抽象类abstract
    抽象方法和虚方法的区别;

    6、密封类和密封方法sealed --类似java中的 final
    密封的方法不能被重写,
    密封的类不能被继承

    sealed针对的时子类,以及子类重写的方法

    7、常量的定义:
    语法:
    public const 类型 常量名称 = 值; //常量一定是全局的因此不能使用
    static ,加了算错

    任务:
    1、实现以下类的定义
    1)定义一个人类封装以下成员
    成员变量(编号,姓名,年龄)
    成员方法(空/全参构造,show)
    属性
    2)定义一个学生类继承人类
    成员变量(班级)
    成员方法(空/全参构造,show)
    属性
    3)定义一个教师类继承人类
    成员变量(专业)
    成员方法(空/全参构造,show)
    属性
    4)Program测试类,测试学生类,和教师类的所有方法;

    2、实现以下类的定义,
    1)定义一个动物类封装以下成员
    成员变量(名称)
    成员方法(空/全参构造,吃、show(虚方法))
    属性
    2)定义一个猫类继承动物类
    成员变量(颜色)
    成员方法(空/全参构造,重写吃、show)
    属性
    3)定义一个鱼类继承动物类
    成员变量(重量)
    成员方法(空/全参构造,重写吃、show)
    属性
    4)Program测试类,用动物类的引用来测试猫类、鱼类对象的所有方法;

    3、实现以下类的定义,
    1)定义一个形状类封装以下成员
    成员变量(常量:圆周率)
    成员方法(抽象的求面积、求周长)

    2)定义一个圆形类继承形状类
    成员变量(半径)
    成员方法(空/全参构造,以及其他必须实现的方法)
    属性
    3)定义一个长方形类继承形状类
    成员变量(长,宽)
    成员方法(空/全参构造,以及其他必须实现的方法)
    属性
    4)Program测试类,测试圆形类和长方形类;

    4、将上一题中的圆形类中的面积,周长的方法设着成为密封的,然后创建该类的子类测试
    该方法是否能被重写;将长方形类设置成为密封得,测试这个类是否能被继承;

    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    C# 判断中文字符的8种方法
    C# GridView页脚汇总
    .NET开发人员十大必备下载工具
    参数修饰符ref,out ,params的区别
    C#一行代码登陆QQ居然碰到这么多麻烦(有意思)
    IIS5IIS6IIS7的ASP.net 请求处理过程比较
    以下放在作业里做调度,每天自动备份和自动删除三天前的备份
    ASP.NET行变色,及禁用编辑,删除按钮
    按钮点击连续触发
    Excel文件的读写实现
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2980825.html
Copyright © 2011-2022 走看看