zoukankan      html  css  js  c++  java
  • 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 方法不允许重载;

     

     

  • 相关阅读:
    关于oralce字符集问题(复制别人的,纯属自己学习)
    Linux下oracle11gR2系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录
    Linux下部署ASP.NET服务连接oracle遇到的问题记录
    前端金钱分转元,元转分精度问题解决
    vue-element的form表单显示图片
    vue页面刷新技巧--(v-if指令)以及vue动态设置css属性
    vue后端获取的数据无法进行双向数据绑定
    Vue实现勾选框全选和局部选择功能
    VUE/jQuery生成二维码扫描跳转地址
    uni-app之数据状态改动后页面不刷新踩坑
  • 原文地址:https://www.cnblogs.com/wangheblog/p/3147415.html
Copyright © 2011-2022 走看看