EjendomsMægleren

Idea: Implementere et klassediagram med arv og associeringer, samt Dictionary og List.
Background: Noten

 

I Denne opgave skal der arbejdes med implementering af et lille klassediagram (herunder Arv, Dictionary, List samt almindelig repetition af klasseimplementation med metoder mm )
Der skal udvikles en lille Consol app til en Ejendomsmæler der kan registrere Ejendomme, Sælgere, Købere mm.

Step 1: Klassediagram

a) Tegn et klassediagram over EjendomsMægleren. For Ejendomme skal registreres følgende oplysninger: (Id, Type, Adresse, Pris, Størrelse, mm). Der skal registreres følgende for Sælger: (Id, Navn, Adresse, Tlf, EMail) og for KøberEmne: (Id, Navn, Adresse, Tlf, Email, MinStørrelse, MaxPris). Der skal være et EjendomsKartotek over Ejendomme, et KundeKartotek til kunder der er skrevet op og som søger en ny ejendom. Det skal desuden være muligt at registrere hvilke Ejendomme et KøberEmne har fået fremvist.


Step 2: Implementer Klasserne
Ejendom, Sælger og KøberEmne

b) Opret et nyt Console projekt med navnet: EjendomsMægleren.

c) Implementer klassen Ejendom med de givne properties. Husk ToString() metoden (Alt Ins, Formating Members)

d) Test at klassen virker ved at oprette og udskrive en Ejendom i Main().

e) Implementer klasserne Sælger og KøberEmne (overvej brug af nedarvning - inheritance) og test i Main().


Step 3: Implementer Klassen EjendomsKartotek

f) Implementer klassen EjendomsKartotek. Klassen skal indeholde et Dictionary<key, value> over Ejendomme (key er det unikke Id for ejendomme og value klassen Ejendom).
Der skal være følgende metoder i klassen: Add(Ejendom):void, Remove(Ejendom):Ejendom, Get(int):Ejendom og GetAll( ):List<Ejendom> samt en metode Udskriv( ):void der kan gennemløbe og udskrive alle Ejendomme i kartoteket.

g) Test klassen EjendomsKartotek, ved at oprette en instans (objekt) ejendomsKartotek af klassen og tilføje, slette, hente og udskrive Ejendomme fra ejendomsKartotek i Main().


Step 4: Implementer Klassen
KøberEmneKartotek

h) Implementer klassen KøberEmneKartotek. Klassen skal indeholde en List<KøberEmne> over KøberEmner. Denne klasse skal også indeholde metoder til at kunne tilføje, slette, hente og udskrive KøberEmner fra kartoteket.

i) Test klassen.

 

Step 5: Implementer metoder til at matche Ejendomme med KøberEmner (Svært)

j) Udvid klassen EjendomsKartotek med en metode der kan finde ejendomme, hvor typen passer og hvor størrelse og pris opfylder de givne argumenter:
Match(type, minStørrelse, maxPris):List<Ejendom>

Overvej at benytte Enum til ejendomstype, fx Hus, Lejlighed, Ejerlejlighed ...

k) Test


Step 6: Implementer klasse/metoder til registrering af de ejendomme KøberEmner har fået fremvist (Ekstra svært)

l) Implementer og test


Step 7: Implementer metoder til at finde matchende Ejendomme som ikke er fremvist til KøberEmner (Ekstra meget svært)

m) Implementer og test


Ekstra

Find selv på mere :)


God fornøjelse /Henrik