C#简单工厂模式(文件案例)-创新互联
为万全等地区用户提供了全套网页设计制作服务,及万全网站建设行业解决方案。主营业务为成都网站制作、成都做网站、外贸营销网站建设、万全网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
本文标题:C#简单工厂模式(文件案例)-创新互联
转载源于:http://pwwzsj.com/article/pjhhe.html
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 读文件案例 { class Program { static void Main(string[] args) { Console.WriteLine("请输入文件名"); string fileName = Console.ReadLine();//获得用户输入 File file = Factory.GetFileName(fileName); file.OpenFile(); Console.ReadKey(); } } ////// 父类,等待子类实现 /// public abstract class File { private string _fileName;//文件名 public string FileName { get { return _fileName; } set { _fileName = value; } } private string _extension;//后缀名 public string Extension { get { return _extension; } set { _extension = value; } } ////// 构造函数 /// /// public File(string fileName) { //在本类中,用私有字段即可,不必要使用属性来保护对应的字段 this._fileName = Path.GetFileNameWithoutExtension(fileName); this._extension = Path.GetExtension(fileName); } public abstract void OpenFile(); } public class TxtFile : File { ////// 子类构造函数,调用父类构造函数为字段赋值 /// /// public TxtFile(string fileName) : base(fileName) { } public override void OpenFile() { //此时就需要用属性来保护字段了 Console.WriteLine("文件名为{0},后缀名为{1}", this.FileName, this.Extension); } } public class AviFile : File { public AviFile(string fileName) : base(fileName) { } public override void OpenFile() { Console.WriteLine("文件名为{0},后缀名为{1}", this.FileName, this.Extension); } } public class Factory { public static File GetFileName(string fileName) { File file = null; switch (Path.GetExtension(fileName).ToLower()) { case "txt": case ".txt": file = new TxtFile(fileName); break; case "avi": case ".avi": file = new AviFile(fileName); break; //父类是虚方法的写法 //case "txt": //case ".txt": return new TxtFile(fileName); //default: return new File(fileName); } return file; } } }
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
本文标题:C#简单工厂模式(文件案例)-创新互联
转载源于:http://pwwzsj.com/article/pjhhe.html