4024 dice egenskaper

Uppgift 4

Uppgift 4A

  • Kunna använda egenskaper för att sätta och läsa värde
  • Kunna skriva egenskaper för en klass för att läsning och skrivning av objektvariabel utanför klassen.

Teori egenskaper

Om egenskaper (eng. properties) på Microsoft.com

public class Hero
{
  private String name = "Ada";
  private int health = "8";

  //obs stort N på Name
  public String Name
  {
    get 
    {
      return name; //obs litet n på name
    }
    set
    {
      name = value; //obs litet n på name
    }
  }

  public int Health
  {
    get 
    {
      return health;
    }
    set
    {
      if (value >= 0)
      {
        health = value;
      }
      else
      {
        health = 0;
      }
    }
  }
}

Kod för att skapa ett objekt av klassen Hero.

Hero myHero = new Hero();

myHero: Hero

  • name "Ada"
  • health 8

Objektdiagram

//sätt name till Beda myHero.Name = "Beda"; //obs stort N på Name

myHero: Hero

  • name "Beda"
  • health 8

Nytt objektdiagram

Egenskaper

Skriv egenskaper för xPosition och yPosition i klasserna Circle och Square. Egenskaperna skrivs lämpligtvis efter konstruktorn och före metoderna. Observera att metoden Draw måste anropas i slutet av set. Detta för att tärningen ska uppdateras på bildskärmen.

Använd egenskaper i Dice

Skriv om koden i klassen Dice så att du använder dig av egenskaper istället för metoderna moveHorizontal och moveVertical.

Uppgift 4B

Egenskaper och objektvariabler i Dice

Lägg till objektvariablerna xPosition och yPosition i klassen Dice. Lägg till egenskaper så att dessa variabler kan sättas. Ändra koden så att tärningens position bestäms av värdet på xPosition och yPosition. Tänk på att du måste flytta på circlar och kvadrat också.

Tärningens storlek

Lägg till en objektvariabel size i klassen Dice. Låt den bestämma tärningens bredd och höjd. Lägg till en egenskap så att storleken kan sättas. Storleken ska dock inte kunna få ett mindre värden än t.ex. 20 pixlar. Tips finns på Microsoft

Tänk på att cirklar och kvadraten också måste ändras.