---
# System prepended metadata

title: Programmering 2 - Övningar klasser
tags: [övningsuppgifter]

---

# Programmering 2 - Övningar klasser


*Följande uppgifter handlar om enkla klasser med endast egenskaper (klassvariabler)*

### 1. 
Skapa en klass Bok med följande egenskaper:

* `Titel` (string)
* `Författare` (string)
* `AntalSidor` (int)

Skapa sedan två objekt av klassen Bok och fyll i olika värden för egenskaperna.
Skriv ut böckernas titel och författare på skärmen.

### 2. 

Skapa en klass Elev med egenskaperna:

* `Namn` (string)
* `Program` (string)
* `Årskurs` (int)

Skapa en array  med 3 elever med olika egenskaper. Gör sedan en loop där alla namn skrivs ut.

### 3. 

Skapa en klass Bibliotek med en variabel som är en lista av böcker (klassen du skapade i uppgift 1.):

Skapa ett objekt av typen Bibliotek och fyll det med minst tre böcker.

---
*Följande uppgifter handlar om som också har klassmetoder*

### 4. 

Skapa en klass Person med egenskaperna:

* `Namn` (string)
* `Ålder` (int)

Lägg till en metod `Presentera()` som skriver ut:
```
Hej, jag heter [Namn] och jag är [Ålder] år gammal.
```

Skapa två personer och anropa deras metod Presentera().

### 5. 

Skapa en klass Cirkel med egenskapen: `Radie` (float)

Lägg till en metod `BeräknaArea()` som returnerar arean på cirkeln (π * radie²).
Testa genom att skapa en cirkel och skriv ut resultatet.

---
*Följande uppgifter handlar om klasser med konstruktorer*

### 6.

Skapa en klass Hund med egenskaperna:

Namn (string)

Ålder (int)

Skapa en konstruktor som tar emot namn och ålder.
Testa genom att skapa en hund direkt med värden:

```csharp
Hund hund1 = new Hund("Bamse", 3);
```

### 7.

Skapa en klass Rektangel med egenskaperna:

* Bredd (float)
* Höjd (float)

Skapa en konstruktor som tar emot både bredd och höjd.
Skapa också en parameterlös konstruktor som automatiskt sätter bredd = 1 och höjd = 1.

### 8.

Skapa en klass Bankkonto med egenskaperna:

* Kontonummer (string)
* Saldo (float)
 
Skapa en konstruktor som tar emot kontonummer och startsaldo.

Lägg till metoder:

* SättIn(float belopp) – ökar saldot.
* TaUt(float belopp) – minskar saldot (om det finns tillräckligt pengar).
* VisaSaldo() – skriver ut nuvarande saldo.