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】,也只能有有一个父类

猜你喜欢

转载自www.cnblogs.com/T-ARF/p/9207157.html