zoukankan      html  css  js  c++  java
  • C# 继承

    C# 是面向对象的高级编程语言。

    继承是面向对象的特征之一。

    所谓继承,字面意义。通俗而言 子承父业。

    现有两个类

    A,B二类,分别有两个字段,有两个方法,有两个构造函数。

    这两个类实际意义没有多少。 但是记住,高级语言就因为面向对象才是高级语言。面向对象基本就是现实中的事务的高级抽象

    可以想象这个AB二类是这个独立的人,每个人都是独立ID,独立自我介绍。

    所以有两个独立的class。

    Class A 
      {
          public string Name=>"Class A";
    
          public A()=>Console.WriteLine("这是A类的初始化,也就是构造函数");
    
          public void ID()=>Console.WriteLine($"我的id是{Name}");
      }
    
    Class B
      {
          public string Name=>"Class B";
    
          public B()=>Console.WriteLine("这是A类的初始化,也就是构造函数");
    
          public void ID()=>Console.WriteLine($"我的id是{Name}");
      }

    但是,之前说过的面向对象是现实事务的高级抽象。

    抽象!

    如果 就按照上面的方式来建立事务,恐怕写一个软件会把人给累死。

    所以,继承的意义就存在的。

    高度抽象【针对现实事务】

    就好比这个两个类中都一个String 的公共属性。 如果我们只写一遍就好了。

    那么思考一下,继承。

    emm,AB都有Name,

    如果 AB都有一个父亲,父亲有一个名为Name的遗产。【不考虑财产分割,那是别的问题】

    那么AB是不是都会有了?

    那么 使用继承该如何使用呢?

    Class NameList
      {
        public string Name{get;set;}
      }
      
    
    Class A:NameList
      {
       
          public A()=>Console.WriteLine("这是A类的初始化,也就是构造函数");
    
          public void ID()=>Console.WriteLine($"我的id是{Name}");
      }
    Class B:Namelist
      {
        
    
          public B()=>Console.WriteLine("这是A类的初始化,也就是构造函数");
    
          public void ID()=>Console.WriteLine($"我的id是{Name}");
      }

     See,只打了一遍就可以在两个不同的类中进行使用了。

    OK,那么这两个类中还有一个叫 ID的方法,都是一模一样,是不是也可以使用继承呢?

    嗯 是可以!

    那么我们在改一下

      class NameList
        {
            public string Name { get; set; }
    
            public void ID() => Console.WriteLine($"我的id是{Name}");
        }
    
    
        class A : NameList
        {
    
            public A() => Console.WriteLine("这是A类的初始化,也就是构造函数");
    
           
        }
        class B : NameList
        {
    
            public B() => Console.WriteLine("这是A类的初始化,也就是构造函数");
          
        }

    到这里为止,继承的基本使用就介绍完了。

    继承的符号:是冒号

    不过要记住,如果继承类,那么这个继承的类叫做父类,或者基类【也就是文中NameList】,也只能有有一个父类

  • 相关阅读:
    输出控制符的详解
    printf函数的讲解
    关于字节、Ascll码、字符的存储的讲解
    1.2
    1.1
    OS模块学习笔记
    time时间模块总结
    编译py为exe
    python计算excel平均值和标准差
    Python与Excel交互--Xlwings
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9207157.html
Copyright © 2011-2022 走看看