真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#簡單工廠模式(文件案例)-創(chuàng)新互聯(lián)

C#簡單工廠模式(文件案例)

為萬全等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及萬全網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設、萬全網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
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();
        }
    }
    /// 
    /// 父類,等待子類實現(xiàn)
    /// 
    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; }
        }
        /// 
        /// 構(gòu)造函數(shù)
        /// 
        /// 
        public File(string fileName)
        {
            //在本類中,用私有字段即可,不必要使用屬性來保護對應的字段
            this._fileName = Path.GetFileNameWithoutExtension(fileName);
            this._extension = Path.GetExtension(fileName);
        }
        public abstract void OpenFile();
    }
    public class TxtFile : File
    {
        /// 
        /// 子類構(gòu)造函數(shù),調(diào)用父類構(gòu)造函數(shù)為字段賦值
        /// 
        /// 
        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;
        }
    }
}

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。


當前標題:C#簡單工廠模式(文件案例)-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://weahome.cn/article/pjhhe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部