HelloWorld skrev 2013-07-02 13:07:02 följande:
Jag studerar vid högskolan Dalarna.
Jag vill tacka dig jättemycket för din hjälp , för tack vare dig insåg jag att jag måste läsa på mer om vad instanser och konstruktorer är för något. Jag har läst om det 100 gånger men av nån aledning vill det inte fastna.
Så man kan ju inte direkt koda bra om man inte fattar vad sakerna gör :)
Jo precis , UML var mer en träning och tillhör ju kursen som "grundkunskaper" så det är ju inte mitt största problem egentligen men anta att jag arbetar någonstans och får ett UML diagram framför mig och inte ens kan översätta diagrammet till kod..ja då ser jag ett problem. :)
jag har inte löst uppgiften helt ännu..jag ska ta och läsa igenom om konstruktorer och istanser , objekt osv...kolla på det du skickat mig och se om jag kan förstå kopplingen (det gör jag lite halvt) förutom att jag inte riktigt fattar det här med att instansiera osv. Vi får väl se, jag kan ju demonstrera när jag är klar så kanske du kan ge mig en guldstjärna hehe
ja jag vet inte vad du vill kalla dig men i mina ögon verkar du påläst och duktig iallafall.
Åå tack kamrat.
Okej så här kan man förklara det hela.
Du har först klassen du ska skapa.
Överst i UML står namnet på klassen och det ska alltid börja på stor bokstav (vilket kallas att göra strong naming) MinFörstaKlass
Därefter i första rutan skriver du alla variabler denna ska innehålla vad de ska heta och vilken typ de är och vilken accessnivå de ska ha osv. (observera att ordningen är omvänd den som står i din UML där namnet står först och datatyp sist)
Private (kan endast användas internt i klassen) Int (datatyp integer) price (namnet i uml)
Public (öppen för anrop från andra klasser eller andra projekt)
Därefter i UML står metoderna (egenskaper) som klassen (aka objectet) ska ha
public void getPrice()
{ return this.price; }
För att datorn ska fatta att du nu skapat en klass som ska utföra något och inte bara skrivit en massa text så måste det finnas en construktor. oftast skapas denna by default om du använder en IDE men skriver du allt själv i tex antekningar så måste du skriva en default själv
Public Class Vara()
{}
Nu först fattar maskinen att det är frågan om en klass som det går att skapa objekt ifrån.
Själva skapandet (eller användandet) av en klass är det som kallas instansiera ett objekt.
det är det du gör i din testklass när du skrev
Vara vara = new Vara();
New ordet anger att det är en ny instans av vara som skapas.. Se set som att klassen vara är ritningen
och instansierandet är själva byggandet av huset. För att kunna bo i det måste du först bygga det. Varje
instans måste vara unik och kompilatorn klagar om det finns 2 med samma namn. (Du kan inte bygga ett likadant hus inuti ditt hus). Det är först när du byggt huset efter ritningen som du ser om det blev rätt eller om du saknar en dörr att gå in genom.
Jag kan skicka kursmaterialet jag en gång hade om du vill.. Det är visserligen från C# (microsoft) men det objektorienterade är detsamma. Det fick mig att fatta en gång..
Alltid kul att kunna hjälpa någon..