C#基础学习之构造方法及静态方法联动 举例
2008-05-11 20:34
441 查看
using System;
using System.Collections.Generic;
using System.Text;
namespace staticway
...{
//定义基类
class CommaFile
...{
public CommaFile(string filename)
...{
Console.WriteLine("[CommaFile] " + "file name = {0} ",filename);
}
}
//定义一个枚举结构,模拟用户,供应商和销售商,这些人员需要处理具体的文件
enum tableid
...{
customers,
suppliers,
vendor
};
//从基类CommaFile中派生出DbTable
class DbTable : CommaFile
...{
//使用静态方法
static string GetFileName(tableid id)
...{
string filename;
switch (id)
...{
case tableid.customers:
filename = "customer.txt"; //用户的文件
break;
case tableid.suppliers:
filename = "suppliers.txt"; //供应商的文件
break;
case tableid.vendor:
filename = "vendor.txt"; //销售商的文件
break;
default: //如果都不是,将报错
throw new ArgumentException("[DaTable. " + "GetFilename] 不能解析表名");
}
return filename;
}
//DbTable的构造函数
public DbTable(tableid id)
: base(GetFileName(id))
...{
Console.WriteLine("[DbTable.DbTable] " + "id = {0} ",id.ToString());
}
}
class Program
...{
static void Main(string[] args)
...{
Console.WriteLine("[Main] 初始化用户表的对象");
//实例化一个DbTable的对象,将调用静态方法GetFileName
DbTable derived = new DbTable(tableid.customers);
}
}
}
相关文章推荐
- C#语言学习--基础部分(八) --类->构造方法续,静态类,静态方法
- 【C#基础】方法及其调用、构造方法、out与ref参数及其返回值、方法重载、静态方法等简单介绍
- C#语言学习--基础部分(七) --类->构造方法
- 【C#基础】方法及其调用、构造方法、out与ref参数及其返回值、方法重载、静态方法等简单介绍
- C#语言学习--基础部分(九) --类->静态字段,静态方法,静态类
- C#学习笔记13:静态方法、方法重载和ref、out参数
- C#基础学习之Switch 举例
- Java学习记录(一):Java中继承与静态static、非静态、构造方法等的初始化顺序
- C#基础:通过一个实例来学习IFormattable接口,扩展方法
- C#基础加强--继承中的构造方法
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 【幻化万千戏红尘】qianfengDay06-java基础学习:重载、方法、类、对象、构造方法
- C# 基础加强(四) 静态类、静态方法
- C# 静态成员和方法的学习小结
- 学习Java基础的一些知识(11)构造方法
- C#基础:通过一个实例来学习IFormattable接口,扩展方法
- c#基础-继承,派生类,派生类的构造 方法
- 静态方法 分类: python基础学习 2014-04-05 19:34 228人阅读 评论(0) 收藏
- C#基础学习之【3】多态与静态对象的使用1
- 1、c#中可以有静态构造方法,而java中没有,例如在单例模式中c#可以直接在静态构造中实例化对象,而java不可以