Table + Coffetable + Leg - C# Programming Exercise

In this exercise of C#, the example of tables and coffee tables is extended by adding a class called "Leg". This class should include a method named ShowData, which will first display "I am a leg" and then show the data of the table to which it belongs. This exercise helps practice creating related classes, where one class (in this case, "Leg") can access the data of another class (like "Table").

To test this extension, you should choose one of the tables from the example, add a leg to it, and then ask the leg to display its data. This involves the leg interacting with the table to show the associated information, helping to understand how classes can interact and access attributes of other classes in C#. This exercise also reinforces the concept of creating relationships between objects through methods and how to organize data within an object-oriented program.

 Category

OOP More On Classes

 Exercise

Table + Coffetable + Leg

 Objective

Extend the example of the tables and the coffee tables, to add a class "Leg" with a method "ShowData", which will write "I am a leg" and then it will display the data of the table to which it belongs.

Choose one table in the example, add a leg to it and ask that leg to display its data.

 Write Your C# Exercise

// Importing the System namespace for basic system functionalities like Console for input/output
using System;

public class Table
{
    // Private fields for the width and height of the table
    private double width;
    private double height;

    // Constructor to set the width and height of the table
    public Table(double width, double height)
    {
        this.width = width; // Setting the width of the table
        this.height = height; // Setting the height of the table
    }

    // Method to show the data of the table
    public void ShowData()
    {
        Console.WriteLine($"Table width: {width} cm, height: {height} cm"); // Displaying the table's dimensions
    }

    // Getter for the width of the table
    public double GetWidth()
    {
        return width; // Returning the width
    }

    // Getter for the height of the table
    public double GetHeight()
    {
        return height; // Returning the height
    }
}

public class CoffeeTable : Table
{
    // Constructor for CoffeeTable, calling the base class constructor (Table)
    public CoffeeTable(double width, double height) : base(width, height) { }

    // Overriding the ShowData method to add "(Coffee table)" after displaying the dimensions
    public new void ShowData()
    {
        base.ShowData(); // Displaying the table's dimensions
        Console.WriteLine("(Coffee table)"); // Indicating that this is a coffee table
    }
}

public class Leg
{
    // Private field for the leg's position
    private string position;

    // Constructor to set the position of the leg
    public Leg(string position)
    {
        this.position = position; // Setting the position of the leg (e.g., front-left, back-right)
    }

    // Method to show the data of the leg
    public void ShowData(Table table)
    {
        Console.WriteLine($"I am a leg."); // Displaying that it is a leg
        table.ShowData(); // Displaying the data of the table to which the leg belongs
    }
}

public class Program
{
    public static void Main()
    {
        // Creating a new CoffeeTable object with random sizes
        CoffeeTable coffeeTable = new CoffeeTable(100, 60); // Width = 100 cm, Height = 60 cm

        // Creating a new Leg object positioned at "front-left"
        Leg leg = new Leg("front-left");

        // Showing the data of the coffee table
        coffeeTable.ShowData(); // Displaying the dimensions and the fact that it's a coffee table

        // Asking the leg to display its data, which will also display the data of the table
        leg.ShowData(coffeeTable); // Displaying that it's a leg and showing the coffee table's data
    }
}

 Share this C# exercise

 More C# Programming Exercises of OOP More On Classes

Explore our set of C# programming exercises! Specifically designed for beginners, these exercises will help you develop a solid understanding of the basics of C#. From variables and data types to control structures and simple functions, each exercise is crafted to challenge you incrementally as you build confidence in coding in C#.

  •  Catalog

    In this exercise of C#, you are required to create a class diagram and then, using Visual Studio, develop a project with the corresponding classes for a catalog utili...

  •  Random number

    In this exercise of C#, you need to create a class called RandomNumber with three static methods. The first method, GetFloat, should return a number bet...

  •  Text to HTML

    In this exercise of C#, you need to create a class called TextToHTML, which should be able to convert several texts entered by the user into an HTML sequence. ...

  •  Class ScreenText

    In this exercise of C#, you need to create a class called ScreenText, which will display a certain text at specified screen coordinates. The class must have a ...

  •  Enhanced ComplexNumber class

    In this exercise of C#, you need to improve the ComplexNumber class by overloading the + and - operators to allow the addition and subtraction of...

  •  3D point

    In this exercise of C#, you need to create a class called Point3D to represent a point in 3-D space, with coordinates X, Y, and Z. The class must include the f...