Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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,507 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 ;
        }
    }
}