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

Benson Gathee
PLUS
Benson Gathee
Courses Plus Student 1,280 Points

what's a computed property name and how can I go about this question?

what's a computed property name and how can I go about this question?

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

        public double SideLength { get; private set; }

        public Square(double sideLength) : base(4)
        {
            SideLength = sideLength;
        }

        double Area = 4*4;
    }
}
Polygon.cs
namespace Treehouse.CodeChallenges
{
    public class Polygon
    {
        public int NumSides { get; private set; }

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

1 Answer

Steven Parker
Steven Parker
231,198 Points

A computed property is one that delivers a value resulting from some process or calculation instead of just something stored in a backing variable. It's defined very much like an ordinary property, except it will have a bit more code in the "get" method.

This concept and code examples were covered in the video just prior to this challenge, which happens to be named Computed Properties.

Benson Gathee
Benson Gathee
Courses Plus Student 1,280 Points

That's works! For this case

namespace Treehouse.CodeChallenges { public class Polygon { public int NumSides { get; private set; }

    public Polygon(int numSides)
    {
        NumSides = numSides;
    }
    public double Area 
    { 
        get { return SideLength * SideLength; } 
    }
}

}