zoukankan      html  css  js  c++  java
  • C#基本语法复习-使用继承

    什么继承?

      继承是分类的问题,继承反映了类和类之间的关系。

    使用继承:

    class a:b{}

    调用基类的构造器:

    class a:b{
    
        public a():base()
        {}
      }

    类的赋值:

      基类可以引用派生类的对象;

    使用new关键字:

      派生类中的方法会屏蔽基类中具有相同签名的方法,此时会发出一条警告,使用new关键字可以消除此警告;

    声明virtual方法:

      设计成能被重写的方法叫做virtual方法;

    class a{
      public virtual void sb()
    {
        
    }  
    }

    声明override方法:

    class b:a{
      public override void sb()
    {
      base.sb();
    ...  
    }  
    }

      不能使用virtual或override声明一个private方法;

      两个方法的签名与返回类型要完全相同;

      两个方法必须具有相同的可访问性,基类的可访问性为public则派生类中的访问级别要小于对于public

      只能用override重写一个virtual方法;

      加入派生类不使用override关键字,则会与new关键字的情况相同

      一个override方法将隐式成为一个virtual方法;

      virtual方法会产生多态性。

    理解protected:

      protected的变量与方法只能在类与该类中的派生类中访问。

    扩展类型:

      

    //扩展方法允许通过附加的静态方法来扩展现有的类型,任何语句一旦引用被扩展类型的数据,就能立即开始使用这些静态方法,扩展方法是在静态类中定义的,要扩展的类型必须是方法的第一个参数,而且必须附加一个this关键字。
    static class Uti{
    public static int a(this int i)
    {
    return -i;
    }
    }
    
    int x=10;
    int b=x.a();
  • 相关阅读:
    abstract关键字
    方法重写
    对象初始化过程
    访问修饰符
    super关键字
    继承
    转发和重定向的区别
    tomcat中乱码问题解决
    jsp执行过程
    web程序常见错误及解决方法
  • 原文地址:https://www.cnblogs.com/hanshuidecangsanggan/p/4389577.html
Copyright © 2011-2022 走看看