Вы находитесь на странице: 1из 17

Mentorstillfälle 1

12/10/2009

SYSA01
Class
public class ClassName
{
fält (fields / instansvariabler)
konstruktor
metoder
}
Class (forts)
 Ett objekt har instansvariabler och metoder.
När man säger OBJEKT är det i regel en
instans av en klass man avser.
 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.
Variabler
Som de flesta andra programmeringsspråk ger dig Java möjligheten att deklarera
variabler. Alla variabler i Java har en typ, ett namn och en räckvidd.

Ett variabelnamn får inte vara ett keyword dvs sådana ord som är reserverade av Java.
Det får inte heta som en annan variabel inom samma scope( räckvidd ).

// vad är det som är fel i följande metoden?


public void minMetod( String name) {
String name;
name = name;
}

Exempel på reserverade ord: public, class, int, void


Variabel – räckvidd (scope)
En variabels räckvidd är det stycke kod där variabeln går att
använda.
Vart i programmet man deklarerar variabeln kommer att avgöra
dess räckvidd samt placera variabeln i någon av dessa tre
kategorier.

· Instance variable (field/attribut)


· Metod parameter (formella / aktuella parametrar)
· Lokal variabel (deklareras inuti ett block eller inuti en metod ej
private eller public)
Primitiva typer
Det finns primitiva datatyper i Java som inte är klasser.
De vanligaste är:
int = heltal (Integer)
ex: private int ålder = 20;

float, double (flyttal)


ex: private float skatt = 0,31;

boolean = boolsk variabel (kan endast ha två värden: true eller false)
ex: private boolean found; //(=true)

Det finns "wrapperklasser" för de primitiva typerna, t.ex Integer. Dessa klasser innehåller
metoder som är användbara och gör att man hantera dem som objekt, t.ex lagra
heltal i en "collection".String är inte en primitiv typ utan en klass i paketet java.lang.
(OBS att man inte behöver importera detta paket, det görs automatiskt.)
Operatorer:
Några vanliga operatorer:

= tilldelning
== ekvivalens (testar om det är samma objekt)
!= skilt från (betyder “not”)
< mindre än
> större än
+ - / *
Tilldelningsoperatorn
= är
tilldelningsoperatorn (assignment operator ) som tilldelar ett värde till en variabel

Vid tilldelning
kopieras värdet från högerledet och lagras variabeln i vänsterledet:

X = 20

Y = 36

Efter satsen x = y;

X = 36

Y = 36
Variabel – initialisering
(initialization)
När man deklarerar en variabel kan man ge den ett värde.
Så här:
int count = 0;
För att göra en variabel till en konstant skriver man så här:
final float skatt = 0,30;
Alla försök att senare ändra värdet på denna variabel kommer
att misslyckas.
public och private
 private - instansvariabler och metoder som man bara
kommer åt i samma klass.
private int name;

 Public – instansvariabler och metoder som man kommer åt


även från andra klasser.
public void getTime;

 Instansvariabler deklareras alltid som private!


Referensvariabel
En referensvariabel är en variabel som kan
innehålla en refererens till ett objekt

public class ClockDisplay


{
Private NumberDisplay hours;

public ClockDisplay ()
{
hours = new NumberDisplay(24);
}
Konstruktor
När man skapar ett nytt objekt av en klass anropas automatiskt en s.k. konstruktor
för objektet. En konstruktor är en sorts metod som man vanligtvis gör de
initieringar, av t.ex. attribut, man behöver för det nya objektet vid start.

Man kan ha flera konstruktorer i sin klass så länge de har olika antal inparametrar
eller olika datatyper på sina inparametrar.

 Har samma namn som klassen.

 Får inte ha returtyp (inte ens void).

 Om man inte definierar några egna konstruktorer, så definieras automatiskt en


parameterlös konstruktor som inget gör.
Logic operators
Kan användas endast i boolean värden, som
resultera i ett nytt boolean värdet.

&& (och)

== (eller)

=! (inte)
Metoder

Public String getName(){


return name;
}
Public void setSalary (int newSalary){
salary = newSalary;
}
Returtypen är typen på det värde som returneras av en metod
(int, String, Object). Returtypen anges före metodnamnet i
metoddeklarationen. En metod som inte returnerar något värde
har returtypen void.

Signatur, inparametrar, accessor, mutators, metod anrop (call)


Internal method calls / external
method calls (s. 73-74)
public void timeTick ()
{
minutes.increment ();
if (minutes.getValue () == 0 ) {
hours.increment ();
}
updateDisplay();
}
this.
 Nyckelordet this är en referens och refererar till det objekt som
exekverar den kod som innehåller referensen

Public class Person


{
private String name;
Private int age;

public Person (String name, int age)


{
this.name = name;
this.age = age;
}
Referenser
 http://www.pellesoft.se/area/articles/article.aspx?artid=472#4
 http://informatix.ida.liu.se/~HKGBB7/www-pub-old/ht03/oop_gru
 www.wikipedia.org
 http://www.nada.kth.se/datorer/haften/javaterminologi.html
 http://www.ida.liu.se/~HKGBB7/www-pub-old/ht04/LectureOnInt
 (http://www.nada.kth.se/datorer/haften/javaterminologi.html)

Вам также может понравиться