> 用于二维表格的设置?
一个类只能继承一个类(单继承),如果要想多继承,则需要用到“接口”这一概念。
继承:基于父类(基类)而派生的子类。
` 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)
- 帮助文档 microsoft helo viewer
- c#开发环境及visual studio安装注意事项
- c#程序基本结构-基本语法
- Q1: public static void main(String[] args) 是什么意思
- Q2: c#命名空间+Main方法
- Q3:注释+命名规则+代码规则
- Q4: c#语句 system => console
- Q5: 数据类型 .net
- Q5: 常用名字、变量、运算符
- Q6: 对话窗输入-属性
- Q7: 递归
- Q8:决策分支、条件判断语句 if 语句
- Q9:数组
- Q10:字符串
- Q11:对象、类、访问权限、静态动态函数
- Q12:方法及参数——继承于类
- Q13:构造函数
- Q14:继承——base 关键字
- Q15:多态、虚方法、接口
- Q16:创建窗体应用、控件
- Q17:Ado数据访问、连接 sqlserver 数据库
- Q18: 读取数据command + DataRead( )、DataSet + DateAdapter
- Q19: Entity Framwork、entity 与 ADO.net的区别
- Q20: 对话框、文件、文件夹
- Q21: 导入excel数据、更新到 dbo 数据库中
- Q26: 获取 excel 中每个 sheet 的表名
- Q22: 两个窗体之间数据+方法传递
- Q23: 数学对象
- Q24: c#网站编写
- Q25: visual studio2017如何查看帮助
- Q27: c# dictionary 字典对象
- Q28: 数组与dataTable互相转化