Advertisement
khang_le

Sortable Shapes

Jul 29th, 2019
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace CodeKata
  8. {
  9.  
  10. public abstract class Shape
  11. {
  12. public double Side { get; set; }
  13. public double Radius { get; set; }
  14. public double Base { get; set; }
  15. public double Height { get; set; }
  16. public double Width { get; set; }
  17.  
  18.  
  19. public abstract double Size ();
  20. }
  21. public class Square : Shape
  22. {
  23. public override double Size() => Side * Side;
  24. public Square(double side)
  25. {
  26. Side = side;
  27. Size();
  28. }
  29. }
  30. public class Rectangle : Shape
  31. {
  32. public override double Size() => Width * Height;
  33. public Rectangle(double width, double height)
  34. {
  35. Width = width;
  36. Height = height;
  37. Size();
  38. }
  39. }
  40. public class Triangle : Shape
  41. {
  42. public override double Size() => (Base * Height) / 2;
  43. public Triangle(double triangleBase, double height)
  44. {
  45. Base = triangleBase;
  46. Height = height;
  47. Size();
  48. }
  49. }
  50. public class Circle : Shape
  51. {
  52. public override double Size()
  53. {
  54. const double pi = System.Math.PI;
  55. return Radius * pi;
  56. }
  57. public Circle(double radius)
  58. {
  59. Radius = radius;
  60. Size();
  61. }
  62. }
  63. public class CustomShape : Shape
  64. {
  65. public override double Size()
  66. {
  67. return Side;
  68. }
  69. public CustomShape(double side)
  70. {
  71. Side = side;
  72. Size();
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement