抽象類的應用

直接給出代碼:

首先是抽象類:

public abstract class Request
    {
        public string BuildRequest()
        {
            string body = BuildMessageBody();

            string request = body + BuildMessageHeader();

            return request;
        }

        protected string BuildMessageHeader()
        {
             return "Header"
        }

        protected abstract string BuildMessageBody();
    }

繼承後重寫的2個類

public class ReverseRequest : Request
{

	protected override string BuildMessageBody()
        {
            //do something
            return "Reverse Request Body";
        }
}
public class LoadRequest : Request
{

	protected override string BuildMessageBody()
        {
            //do something
            return "Load Request Body";
        }
} 

因需求不同返回不同的Rquest,使用:

private Request CreateRequstInstance()
        {
            if ("Reverse")
            {
                return new ReverseRequest();
            }
            else
            {
                return new LoadRequest();
            }
        }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章