tabla + coffetable + leg Ejercicio VB.Net - Curso de Programación Visual Basic

 Ejercicio

tabla + coffetable + leg

Objetivo

Amplíe el ejemplo de las tablas y las mesas de centro, para agregar una clase "Leg" con un método "ShowData", que escribirá "I am a leg" y luego mostrará los datos de la tabla a la que pertenece.

Elija una tabla en el ejemplo, agréguele una pata y pídale a esa pierna que muestre sus datos.

Código

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Namespace Tables
    Class CoffeeTable
        Inherits Table

        Public Sub New(ByVal tableWidth As Integer, ByVal tableHeight As Integer)
            MyBase.New(tableWidth, tableHeight)
        End Sub

        Public Overrides Sub ShowData()
            Console.WriteLine("Width: {0}, Height: {1}", width, height)
            Console.WriteLine("(Coffee table)")
        End Sub
    End Class
End Namespace

Namespace Tables
    Class Leg
        Private myTable As Table

        Public Sub New()
        End Sub

        Public Sub SetTable(ByVal t As Table)
            myTable = t
        End Sub

        Public Sub ShowData()
            Console.WriteLine("I am a leg")
            myTable.ShowData()
        End Sub
    End Class
End Namespace

Namespace Tables
    Class Table
        Protected width, height As Integer
        Protected myLeg As Leg

        Public Sub New(ByVal tableWidth As Integer, ByVal tableHeight As Integer)
            width = tableWidth
            height = tableHeight
        End Sub

        Public Sub AddLeg(ByVal l As Leg)
            myLeg = l
            myLeg.SetTable(Me)
        End Sub

        Public Overridable Sub ShowData()
            Console.WriteLine("Width: {0}, Height: {1}", width, height)
        End Sub
    End Class
End Namespace

Namespace Tables
    Class TestTable
        Private Shared Sub Main(ByVal args As String())
            Dim t As Table = New Table(80, 120)
            Dim l As Leg = New Leg()
            t.AddLeg(l)
            l.ShowData()
            Console.WriteLine()
            Dim tableList As Table() = New Table(9) {}
            Dim random As Random = New Random()

            For i As Integer = 0 To tableList.Length - 1

                If i < tableList.Length / 2 Then
                    tableList(i) = New Table(random.[Next](50, 201), random.[Next](50, 201))
                Else
                    tableList(i) = New CoffeeTable(random.[Next](40, 121), random.[Next](40, 121))
                End If
            Next

            For i As Integer = 0 To tableList.Length - 1
                tableList(i).ShowData()
            Next

            Console.ReadLine()
        End Sub
    End Class
End Namespace

Más ejercicios Visual Basic (VB.Net) de POO Más sobre Clases

 Matriz de objetos: tabla
Cree una clase denominada "Table". Debe tener un constructor, indicando el ancho y alto de la placa. Tendrá un método "ShowData" que escribirá en la p...
 House
Cree una clase "House", con un atributo "area", un constructor que establezca su valor y un método "ShowData" para mostrar "Soy una casa, mi área es d...
 Tabla + coffetable + array
Cree un proyecto denominado "Tablas2", basado en el proyecto "Tablas". En él, cree una clase "CoffeeTable" que herede de "Table". Su método "ShowDa...
 Encriptador
Cree una clase "Encrypter" para cifrar y descifrar texto. Tendrá un método "Encrypt", que recibirá una cadena y devolverá otra cadena. Será un méto...
 Números complejos
Un número complejo tiene dos partes: la parte real y la parte imaginaria. En un número como a+bi (2-3i, por ejemplo) la parte real sería "a" (2) y la ...
 Catálogo
Cree el diagrama de clases y, a continuación, con Visual Studio, un proyecto y las clases correspondientes para una utilidad de catálogo: Podrá alm...
 Número aleatorio
Cree una clase RandomNumber, con tres métodos estáticos: - GetFloat devolverá un número entre 0 y 1 utilizando el siguiente algoritmo: semilla =...
 Texto a HTML
Crear una clase "TextToHTML", que debe ser capaz de convertir varios textos introducidos por el usuario en una secuencia HTML, como esta: Hola Soy...
 Clase ScreenText
Cree una clase ScreenText, para mostrar un texto determinado en coordenadas de pantalla especificadas. Debe tener un constructor que recibirá X, Y y l...
 Clase ComplexNumber mejorada
Mejore la clase "ComplexNumber", para que sobrecargue los operadores + y - para sumar y restar números....
 Punto 3D
Cree una clase "Point3D", para representar un punto en el espacio 3D, con coordenadas X, Y y Z. Debe contener los siguientes métodos: MoveTo, que c...
 Catálogo + Menú
Mejorar el programa Catálogo, de forma que "Principal" muestre un menú que permita introducir nuevos datos de cualquier tipo, así como visualizar todo...

Juan A. Ripoll - Tutoriales de Sistemas y Cursos de Programación© 2024 Todos los derechos reservados.  Condiciones legales.