editor2080 2016. 11. 9. 01:08

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace AdapterPattern

{

    public interface Print

    {

        void printWeak();

        void printStrong();

    }

    public class Banner

    {

        private String memo;


        public Banner(String memo)

        {

            this.memo = memo;

        }


        public void showWithParen()

        {

            Console.WriteLine("(" + memo + ")");

        }


        public void showWithAster()

        {

            Console.WriteLine("*" + memo + "*");

        }

    }


    public class PrintBanner : Banner, Print

    {

        public PrintBanner(String memo) : base(memo)

        {

        }

        public void printStrong()

        {

            showWithParen();

        }


        public void printWeak()

        {

            showWithAster();

        }

    }


    class Program

    {

        static void Main(string[] args)

        {

            Print print = new PrintBanner("TEST");

            print.printWeak();

            print.printStrong();

        }

    }

}