Min tid som student på LTU


Välkommen till min blogg!

Jag studerar till Högskoleingejör inom data/elektronik på Luleå tekniska universitet.

Min förhoppning är att kunna förbättra mitt studieresultat med hjälp av denna blogg och er som läser mina inlägg. Jag hoppas därför på att ni kommenterar mina inlägg, speciellt om ni är studenter själva!

onsdag 14 maj 2014

Objektorienterad programmering 1

Java är en form av objektorienterad programmering dvs. att koden byggs upp i form av objekt som representerar olika delar programmet. Genom att använda denna metoden är det lättare att utveckla programmet.

Inom Java finns paket och klasser. Ett paket innehåller ett program som utvecklas som då består av klasser. Dessa klasser innehåller i sin tur kod som utför olika uppgifter i programmet.

Första uppgiften är att skriva en klass "Rectangle" som kan representera rektanglar med position, bredd, höjd, area och omkrets. Denna klass ska skrivas i paketet mp0.

För att lösa uppgiften har jag skrivit följande kod:

package Mp0;

public class Rectangle {

public static int height;
public static int width;
public static double X;
public static double Y;

public Rectangle(int w, int h){
width=w;
height=h;
}


// Hämtar data för rektangelns höjd.
public int getHeight(){
return height;
}

// Hämtar data för rektangelns bredd.
public int getWidth(){
return width;
}

// Beräknar rektangelns area.
public int area() {
return height * width;
}

// Beräknar rektanglens omkrets.
public int circumreference(){
return ((height * 2) + (width * 2));
}

// Tilldelar rektangeln en viss position i X- & Y-led med metoden move.
public void move(double deltaX, double deltaY){
X=deltaX;
Y=deltaY;
}

// Hämtar värdet för X med metoden getX().
public double getX(){
return X;
}

// Hämtar värdet för Y med metoden getY().
public double getY(){
return Y;
}

// Skriver ut strängen s som är formaterad för att anga rektangelns, x&y positon, höjd och bredd.
public String toString() {
String r1 = String.format("Rektangel" + "[" + "x=" + X + "; " + "y=" + Y + "; " + "w="+ width + "; " + "h=" + height + "]");
return r1;
}

// Main funktion.
public static void main(String[] args){
Rectangle r1 = new Rectangle (10,20); // Skapar en ny rektangel objekt, r1.
System.out.println(r1); // Skriver ut värden för r1 i en sträng.
System.out.println(""); // Skriver ut tom rad.
System.out.println("Bredden är: " + r1.getWidth());
System.out.println("Höjden är: " + r1.getHeight());
System.out.println("Arean är: " + r1.area());
System.out.println("Omkretsen är: " + r1.circumreference());
System.out.println("Position X är: " + r1.getX());
System.out.println("Position Y är: " + r1.getY());

r1.move(0,0); // Förflyttar rektangel i x- & y-led.
System.out.println(r1);
System.out.println(""); // Skriver ut tom rad.
System.out.println("Bredden är: " + r1.getWidth());
System.out.println("Höjden är: " + r1.getHeight());
System.out.println("Arean är: " + r1.area());
System.out.println("Omkretsen är: " + r1.circumreference());
System.out.println("Position X är: " + r1.getX());
System.out.println("Position Y är: " + r1.getY());
}

}

En klass kan innehålla konstruktor som skapar objekt. Utöver det innehåller klassen även metoder som antigen publika eller privata. Publika metoder innebär att dessa kan användas av andra klasser och privata innebär då att metoderna endast kan användas inom klassen.

Allt detta är nytt för mig och jag hoppas att jag inte har skrivit något fel, tror inte det i alla fall:).

Uppgiften i sig var inte speciellt svårt eftersom jag sedan tidigare har programmeringskunskaper. Utmaningen låg istället i att kunna implementera uppgiften i Java vilket visade sig inte vara så svårt än så länge.


Inga kommentarer:

Skicka en kommentar