Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# C# Objects Encapsulation with Properties Computed Properties

Justin Ramirez
Justin Ramirez
4,915 Points

What does this mean? Did you compute the area as the square of SideLength?

need help don't understand what to do.

Square.cs
namespace Treehouse.CodeChallenges
{
    class Square : Polygon
    {

        public double SideLength;
        public double Area 
        {
            get
            {
                return SideLength;
            }
        }
        public Square(double sideLength ) : base(4)
        {
            SideLength = sideLength ;
        }
    }
}
Polygon.cs
namespace Treehouse.CodeChallenges
{
    public class Polygon
    {
        public int NumSides { get; private set; }

        public Polygon(int numSides)
        {
            NumSides = numSides;
        }
    }
}

2 Answers

andren
andren
28,558 Points

The Area property is meant to return the area of the square, not just the length of its side. To compute the area of a square you simply multiply its side by itself. So the code has to look something like this:

namespace Treehouse.CodeChallenges
{
    class Square : Polygon
    {

        public double SideLength;
        public double Area 
        {
            get
            {
                return SideLength * SideLength;
            }
        }
        public Square(double sideLength ) : base(4)
        {
            SideLength = sideLength ;
        }
    }
}