💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
> 用于二维表格的设置? 一个类只能继承一个类(单继承),如果要想多继承,则需要用到“接口”这一概念。 继承:基于父类(基类)而派生的子类。 ` class Test2: Test` 表示新定义的这个 Test2,继承自 Test 父类。 # 例如 > 商品的属性有:商品编号code,商品名称Name,但同时子类(进货)需继承: ``` class Goods // 定义父类 { public string code {get; set;} //属性 public string Name {get; set;} } class Jinhuo:Goods //子类名为Jinhuo,并继承 Goods 父类 { public string JHID{get; set;} //以下定义一个方法,用来输出进货 id,商品编号,以及商品名 public void ShowInfo() { console.writeline(" 进货 id: {0}, 商品编号{1},商品名{2}", JHID, code, Name); } } class Program//创建具体的对象,并关联属性,以及调用方法 { static void Main() { Jinhuo info = new Jinhuo(); //创建子类对象,后续为直接调用子类对象。与多态不同。 info.code = "0000"; info.JHID = "JH0000" info.Name = "phone"; info.ShowInfo(); console.readline(); } } ``` #若父类中被定义为private class Goods,则 Jinhuo 就无法继承该父类了。此时可以将 private 改成 protected 那么,static void Main() 方法中的 info.code 无法被调用,但可以在Jinhuo中被继承: ![](https://ws1.sinaimg.cn/large/006tKfTcgy1frxa0oozccj30j90fm40j.jpg) ![](https://ws2.sinaimg.cn/large/006tKfTcgy1frxa5s4qt4j30hb0ejabf.jpg) # base 关键字 上述例子中,父类只定义了构造函数但没初始化。如果基类中的变量被初始化,则在派生类中,需要用base字段来调用。 比如下述例子,直接用 base 关键字继承基类中的 tradecode fullname属性就可以,无需重新在定义。 ![](https://box.kancloud.cn/1990bc0dba25be081fa4c04bb90f4795_720x395.png)