标签:style blog http ar 使用 sp on 文件 div
今天在云和学院复习了之前学的C#知识
面向对象
练习:磁盘上有不同的文件,比如:.txt文本文件、.doc视频文件、.xls电子表格。要求:编写一个控制台程序,用户输入一个带后缀名的文件,将该文件名传递到一个方法中,该方法中根据用户输入的文件名后缀,返回一个对应的文件对象。提示:编写不同的类模拟不同的文件、为不同的文件类创建统一的父类、使用简单工厂实现。
class Program { static void Main(string[] args) { Console.WriteLine("请输入文件名:"); string strname=Console.ReadLine(); factory fa = new factory(); AbFile af = fa.CreateFile(strname); af.GetFileName(); Console.ReadKey(); } } }
abstract class AbFile { abstract public void GetFileName(); }
class doc:AbFile { public override void GetFileName() { Console.WriteLine("我是doc文件,用Word文档打开"); } } class txt:AbFile { public override void GetFileName() { Console.WriteLine("我是一个txt文件,用记事本打开"); } } class xls:AbFile { public override void GetFileName() { Console.WriteLine("我是xls文件,用Exel表打开"); } } class factory { public AbFile CreateFile(string filename) { string[] str = filename.Split(‘.‘); switch(str[1]) { case "txt":return new txt(); case "doc": return new doc(); default: return new xls(); } } }
虚方法、抽象方法
abstract class Animal { public string Name { set; get; } abstract public void Eat(); abstract public void Berk(); } class Cat:Animal { public override void Eat() { Console.WriteLine("猫吃鱼"); } public override void Berk() { Console.WriteLine("喵喵"); } } class Dog:Animal { public override void Eat() { Console.WriteLine("狗吃骨头"); } public override void Berk() { Console.WriteLine("汪汪"); } } class Program { static void Main(string[] args) { Cat c = new Cat(); c.Berk(); c.Eat(); Dog d = new Dog(); d.Berk(); d.Eat(); Console.ReadKey(); } }
标签:style blog http ar 使用 sp on 文件 div
原文地址:http://www.cnblogs.com/songfang/p/4138366.html