Ladda ner presentationen
Presentation laddar. Vänta.
1
Programmeringsteknik för K och Media
Föreläsning 5 Referenser Objekt som parametrar public/private static this Linda Kann, Nada
2
Repetition Ett objekt har instansvariabler och metoder.
En klass är en mall som beskriver hur objekten ska se ut. En konstruktor kan användas för att ge objektets instansvariabler värden när det skapas.
3
Referenser De variabler som används för objekt är referenser, dvs de håller reda på var i minnet objektet lagrats. När man vill göra något med ett objekt måste man gå via referensen.
4
Tilldelning - primitiva datatyper
Vid tilldelning kopieras värdet från högerledet och lagras i variabeln i vänsterledet: Efter satsen x = y; x 17 y 4711 x y 4711 4711
5
Tilldelning - referenser
För referenser till objekt är det istället minnesadressen till objektet som kopieras: volvo saab saab = volvo; volvo saab
6
Parametrar När en anropsparameter skickas med vid ett metodanrop kopieras dess värde till den formella parametern. Kan ett metodanrop ändra på anropsparametern? Om den är av primitiv datatyp: VÄRDET KAN INTE ÄNDRAS Om den är en referens till ett objekt: VÄRDEN INUTI OBJEKTET KAN ÄNDRAS Om den är en referens till en sträng: STRÄNGEN KAN INTE ÄNDRAS
7
public och private private - instansvariabler och metoder som man bara kommer åt i samma klass. private int ålder; public - instansvariabler och metoder som man kommer åt även från andra klasser. public void skrivNamn(); En väluppfostrad programmerare deklarerar alla sina instansvariabler som private!
8
static - variabler Normalt har varje objekt sina egna data.
En variabel kan deklareras med static static int antal; Då kommer dess minnesutrymme att vara gemensamt för alla objekt ur klassen - om värdet ändras för ett objekt ändras det alltså för alla. Dessa variabler brukar kallas klassvariabler.
9
static - metoder Normalt anropas alltid en metod via ett objekt (en instans av klassen). Color röd = new Color(255,0,0); Color mörkröd = röd.darker(); Om en metod deklareras med static kan den anropas direkt från klassen - utan att man behöver skapa något objekt. double x = Math.sqrt(17); En static-metod kan inte komma åt instansvariabler.
10
this I en metod kan man använda this som ett objekt. this.färg = färg;
this syftar då på det aktuella objektet. public Bil(String färg, double pris, this.färg = färg; I exemplet ovan syftar this på det objekt som konstruktorn håller på att konstruera.
11
import java.io.*; import java.awt.*; class BerrasBegBilar { public static void main(String[] args) { Bil alfa = new Bil(röd,500000,0.95); Bil citroen = new Bil(gul,40000,0.7); System.out.println("Det finns " + Bil.antalbilar + " bilar inne."); citroen.reklam(); } } //BerrasBegBilar
12
Programmeringsteknik för K och Media
class Bil { // Instansvariabler private String färg; private double pris; private double literPerMil; // Klassvariabler public static int antalbilar = 0; // Här deklareras konstruktorn public Bil(String färg, double pris, double lpm) { this.färg = färg; this.pris = pris; literPerMil = lpm; antalbilar++; } // konstruktorn Bil // Här deklareras metoden reklam() public void reklam() { System.out.println("Denna bil är ” + färg); System.out.println(”drar "+literPerMil+" l/mil!"); } // metoden reklam Programmeringsteknik för K och Media Linda Kann, Nada
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.