• C#总结2


    第三章

    对于继承:继承是根据父类创建新子类的过程;

    对于继承:例:

    Public class Father

    {
         public void say()

    {

      //dosomething

    }

    Public class Son:Father

    {

      Public void say()

    {

     //dosomething

    }

    }

    这这里Son就隐藏了Fathersay方法,也就是覆盖了;

    C#里希望这样写

    Public class Son:Father

    {

      Public new void say()//多加一个new

    {

     //dosomething

    }

    }

    这里讲讲base关键字,上一章讲this的时候提过:

    Base是对父类的声明:

    在编译器里,”base.”后面就出现了父类里的属性和方法,而

    this.”就出现了本类里额属性和方法;就是这个区别;

    对于对象的生命周期,课本上的那个例子挺好的:

    例:

    Public class Grandsire

    {

    Public Grandsire()

    {

     Consoler.WriteLine(“ 调用Grandsire构造”);

    }

    ~Grandsire()

    {

    Consoler.WriteLine(“ 调用Grandsire析构”);

     

    }

    }

    Public class Father:Grandsire

    {

    Public Father()

    {

     Consoler.WriteLine(“ 调用Father构造”);

    }

    ~Father()

    {

    Consoler.WriteLine(“ 调用Father析构”);

     

    }

     

    }

    Main()

    {

     Father f=new Father();

     

    }

    输出:

     

           调用Grandsire构造

        调用Father构造

         调用Father析构

         调用Grandsire析构

    对于这样的结果,我就不多说什么了,看疗效吧

    虚拟方法和重载方法:

    这个考试中记住,在继承父类虚拟函数是要用关键字override来重载

    例:

    Class Father

    {

     Public virtual void say()

    {

    //dothing

    }

    }

    Class Father

    {

     Public override void say()

    {

    //dothing

    }

    }

    抽象类:

    对于抽象类的定义:

    Abstract class 

    记住几个要点:

    抽象类里面不一定都是抽象方法;

    在抽象类里定义抽象方法的时候,在子类继承这个抽象父类时,如果子类也是不是抽象类,必须为父类的抽象方法提供具体实现方法,要么是override abstract修饰;

    例:

    Public abstract class Father

      Abstract void say();

    Abstract void do();

    Class Son :Father

    {

       Public override say()

    {

      //dothing

    Public override abstract void do();

    }

     

    抽象类和借口一样不能被实例化

     

    密封类,关键字 sealed

    Sealed calss

    就是不让继承的类

    如果给方法定义sealed 方法不允许重载;

     

     

  • 相关阅读:
    PRelu和一些激活函数
    一个编程入门参考网站
    GPT/Bert/Attention等一些总结
    [Go] struct
    [Typescript Challenges] 15. Medium Get return type of function
    [GO] Pass by reference
    [Go] Error
    [Go] Defer, panic, recover
    [Go] Method
    [Go] Pointer
  • 原文地址:https://www.cnblogs.com/wangheblog/p/3147415.html
Copyright © 2020-2023  润新知