AbstractHouse.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace DecoratorPattern
  7. {
  8. /// <summary>
  9. /// 抽象房类
  10. /// </summary>
  11. public abstract class AbstractHouse
  12. {
  13. /// <summary>
  14. /// 面积
  15. /// </summary>
  16. public double Area { get; set; }
  17. /// <summary>
  18. /// 规格
  19. /// </summary>
  20. public string Specification { get; set; }
  21. /// <summary>
  22. /// 价格
  23. /// </summary>
  24. public decimal Price { get; set; }
  25. /// <summary>
  26. /// 定义抽象方法--展示
  27. /// </summary>
  28. public abstract void Show();
  29. }
  30. /// <summary>
  31. /// 未装修房 -- 毛坯房
  32. /// </summary>
  33. public class WithoutDecoratorHouse : AbstractHouse
  34. {
  35. /// <summary>
  36. /// 毛坯房就做简要展示
  37. /// </summary>
  38. public override void Show()
  39. {
  40. Console.WriteLine(string.Format("该户型为{0}㎡,户型设计为{1},目前均价为{2}元/㎡。", this.Area, this.Specification, this.Price));
  41. }
  42. }
  43. }