House VB.Net Exercise - Visual Basic Programming Course


 Exercise

House

Objetive

Create a class "House", with an attribute "area", a constructor that sets its value and a method "ShowData" to display "I am a house, my area is 200 m2" (instead of 200, it will show the real surface). Include getters an setters for the area, too.

The "House" will contain a door. Each door will have an attribute "color" (a string), and a method "ShowData" wich will display "I am a door, my color is brown" (or whatever color it really is). Include a getter and a setter. Also, create a "GetDoor" in the house.

A "SmallApartment" is a subclass of House, with a preset area of 50 m2.

Also create a class Person, with a name (string). Each person will have a house. The method "ShowData" for a person will display his/her name, show the data of his/her house and the data of the door of that house.

Write a Main to create a SmallApartment, a person to live in it, and to show the data of the person.

Code

Imports System
Namespace Houses
    Class House
        Protected area As Integer
        Protected door As Door

        Public Sub New(ByVal area As Integer)
            Me.area = area
            door = New Door()
        End Sub

        Public Property Area As Integer
            Get
                Return area
            End Get
            Set(ByVal value As Integer)
                area = value
            End Set
        End Property

        Public Property Door As Door
            Get
                Return door
            End Get
            Set(ByVal value As Door)
                door = value
            End Set
        End Property

        Public Overridable Sub ShowData()
            Console.WriteLine("I am a house, my area is {0} m2.", area)
        End Sub
    End Class

    Class Door
        Protected color As String

        Public Sub New()
            color = "Brown"
        End Sub

        Public Sub New(ByVal color As String)
            Me.color = color
        End Sub

        Public Property Color As String
            Get
                Return color
            End Get
            Set(ByVal value As String)
                color = value
            End Set
        End Property

        Public Sub ShowData()
            Console.WriteLine("I am a door, my color is {0}.", color)
        End Sub
    End Class

    Class SmallApartment
        Inherits House

        Public Sub New()
            MyBase.New(50)
        End Sub

        Public Overrides Sub ShowData()
            Console.WriteLine("I am an apartment, my area is " & area & " m2")
        End Sub
    End Class

    Class Person
        Protected name As String
        Protected house As House

        Public Sub New()
            name = "Juan"
            house = New House(150)
        End Sub

        Public Sub New(ByVal name As String, ByVal house As House)
            Me.name = name
            Me.house = house
        End Sub

        Public Property Name As String
            Get
                Return name
            End Get
            Set(ByVal value As String)
                name = value
            End Set
        End Property

        Public Property House As House
            Get
                Return house
            End Get
            Set(ByVal value As House)
                house = value
            End Set
        End Property

        Public Sub ShowData()
            Console.WriteLine("My name is {0}.", name)
            house.ShowData()
            house.Door.ShowData()
        End Sub
    End Class

    Class TestHouse
        Private Shared Sub Main()
            Dim debug As Boolean = True
            Dim mySmallApartament As SmallApartment = New SmallApartment()
            Dim myPerson As Person = New Person()
            myPerson.Name = "Juan"
            myPerson.House = mySmallApartament
            myPerson.ShowData()
            If debug Then Console.ReadLine()
        End Sub
    End Class
End Namespace

More VB.Net Exercises of OOP More On Classes

 Array of objects: table
Create a class named "Table". It must have a constructor, indicating the width and height of the board. It will have a method "ShowData" which will wr...
 Table + coffetable + array
Create a project named "Tables2", based on the "Tables" project. In it, create a class "CoffeeTable" that inherits from "Table". Its method "ShowDa...
 Encrypter & Decrypter
Create a class "Encrypter" to encrypt and decrypt text. It will have a "Encrypt" method, which will receive a string and return another string. It ...
 Complex numbers
A complex number has two parts: the real part and the imaginary part. In a number such as a+bi (2-3i, for example) the real part would be "a" (2) and ...
 Table + coffetable + leg
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 ...
 Catalog
Create the classes diagram and then, using Visual Studio, a project and the corresponding classes for a catalog utility: It will be able to store i...
 Random number
Create a class RandomNumber, with three static methods: - GetFloat will return a number between 0 and 1 using the following algorithm: seed = (s...
 Text to HTML
Create a class "TextToHTML", which must be able to convert several texts entered by the user into a HTML sequence, like this one: Hola Soy yo Ya ...
 Class ScreenText
Create a class ScreenText, to display a certain text in specified screen coordinates. It must have a constructor which will receive X, Y and the strin...
 Enhanced ComplexNumber class
Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers....
 3D point
Create a class "Point3D", to represent a point in 3-D space, with coordinates X, Y and Z. It must contain the following methods: MoveTo, which will...
 Catalog + Menu
Improve the Catalog program, so that "Main" displays a menu to allow entering new data of any kind, as well as displaying all the data stored....


Juan A. Ripoll - Systems Tutorials and Programming Courses © 2024 All rights reserved.  Legal Conditions.