Clase Formas - Ejercicio De Programacion C# Sharp

Este ejercicio consiste en crear un proyecto en C# que implemente varias clases de acuerdo con un diagrama de clases. El objetivo es organizar el código dividiendo las clases en diferentes archivos, lo que facilita su mantenimiento y reutilización. El ejercicio pone énfasis en los principios de la programación orientada a objetos (OOP), como la herencia, el encapsulamiento y la correcta implementación de métodos y atributos en las clases.

 Categoría

POO Programación Orientada a Objetos

 Ejercicio

Clase Formas

 Objectivo

Con Visual Studio, cree un proyecto y las clases correspondientes (con varios archivos) para este diagrama de clases.

 Ejemplo Ejercicio C#

 Copiar Código C#
// Import the System namespace for basic functionality
using System;

// Define the main class containing all shape-related classes
public class ShapesDemo
{
    // Define the base class Shape as an abstract class
    public abstract class Shape
    {
        // Define an abstract method to calculate area (must be implemented in derived classes)
        public abstract double GetArea();

        // Define an abstract method to calculate perimeter (must be implemented in derived classes)
        public abstract double GetPerimeter();

        // Define a virtual method to display shape details (can be overridden in derived classes)
        public virtual void Display()
        {
            // Print a general message about the shape
            Console.WriteLine("This is a shape.");
        }
    }

    // Define the Rectangle class, inheriting from Shape
    public class Rectangle : Shape
    {
        // Declare private fields for the width and height of the rectangle
        private double width;
        private double height;

        // Define a constructor to initialize width and height
        public Rectangle(double width, double height)
        {
            // Assign width and height parameters to the respective fields
            this.width = width;
            this.height = height;
        }

        // Override the GetArea method to calculate the area of the rectangle
        public override double GetArea()
        {
            // Return the area calculated as width * height
            return width * height;
        }

        // Override the GetPerimeter method to calculate the perimeter of the rectangle
        public override double GetPerimeter()
        {
            // Return the perimeter calculated as 2 * (width + height)
            return 2 * (width + height);
        }

        // Override the Display method to show details specific to the rectangle
        public override void Display()
        {
            // Print details about the rectangle, including area and perimeter
            Console.WriteLine("Rectangle: ");
            Console.WriteLine("Width: " + width);
            Console.WriteLine("Height: " + height);
            Console.WriteLine("Area: " + GetArea());
            Console.WriteLine("Perimeter: " + GetPerimeter());
        }
    }

    // Define the Circle class, inheriting from Shape
    public class Circle : Shape
    {
        // Declare a private field for the radius of the circle
        private double radius;

        // Define a constructor to initialize the radius
        public Circle(double radius)
        {
            // Assign the radius parameter to the radius field
            this.radius = radius;
        }

        // Override the GetArea method to calculate the area of the circle
        public override double GetArea()
        {
            // Return the area calculated as π * radius * radius
            return Math.PI * radius * radius;
        }

        // Override the GetPerimeter method to calculate the perimeter of the circle
        public override double GetPerimeter()
        {
            // Return the perimeter calculated as 2 * π * radius
            return 2 * Math.PI * radius;
        }

        // Override the Display method to show details specific to the circle
        public override void Display()
        {
            // Print details about the circle, including area and perimeter
            Console.WriteLine("Circle: ");
            Console.WriteLine("Radius: " + radius);
            Console.WriteLine("Area: " + GetArea());
            Console.WriteLine("Perimeter: " + GetPerimeter());
        }
    }

    // Define the main entry point of the program
    public static void Main()
    {
        // Create a Rectangle object with specified width and height
        Rectangle rectangle = new Rectangle(5, 10);
        // Display the details of the rectangle
        rectangle.Display();

        // Create a Circle object with a specified radius
        Circle circle = new Circle(7);
        // Display the details of the circle
        circle.Display();
    }
}

 Salida

Rectangle: 
Width: 5
Height: 10
Area: 50
Perimeter: 30
Circle: 
Radius: 7
Area: 153.93804002589985
Perimeter: 43.982297150257104

 Comparte este Ejercicio C# Sharp

 Más Ejercicios de Programacion C# Sharp de POO Programación Orientada a Objetos

¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.

  •  Clase Vehículos

    Este ejercicio consiste en crear un proyecto en C# y definir las clases correspondientes según un diagrama de clases. Cada clase debe incluir los atr...

  •  Clase Cuadrado

    Este ejercicio consiste en completar el proyecto llamado "Shapes" añadiendo una clase denominada Square (Cuadrado). En esta clase, se almacenarán las coorde...

  •  Clase Pedidos

    En este ejercicio, debes crear un proyecto que contenga las clases correspondientes según el diagrama de clases. Cada clase debe incluir los atributos y...

  •  Clase Círculo de Color

    En este ejercicio expandido, debes modificar el proyecto de formas y cuadrados para incluir también una nueva clase que permita almacenar datos sobre círcul...

  •  Clases Estudiante + Profesor

    En este ejercicio de C#, deberás crear un programa que contenga la clase Person que ya has creado. A partir de esta clase, crearás dos ...

  •  Clase Álbum de fotos

    Escribe una clase de C# llamada "PhotoAlbum" que tenga un atributo privado "numberOfPages". La clase también debe tener un método público llamado "GetNu...