Presentation laddar. Vänta.

Presentation laddar. Vänta.

1 Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305 •Repetition •Instansvariabler och klassvariabler •Klassmetoder och Instansmetoder •Exception.

Liknande presentationer


En presentation över ämnet: "1 Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305 •Repetition •Instansvariabler och klassvariabler •Klassmetoder och Instansmetoder •Exception."— Presentationens avskrift:

1 1 Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305 •Repetition •Instansvariabler och klassvariabler •Klassmetoder och Instansmetoder •Exception •Filinläsning med klassen Scanner •Slumpa ett numme

2 2 Repetition •Instansmetoder kan endast anropas via en instans av klassen. •Klassmetoder kan anropas både via en instans eller via klassnamnet. Men anropet ska ske via klassnamnet.

3 3 Variablerdeklareras instansvariabler1.utanför metoder 2. utan static klassvariabler1.utanför metoder 2.med static lokala variabler1.inuti en metod 2.utan static

4 4 Metoddeklareras Klassmetod 1.med static 2.med returtyp Instansmetod 1.utan static 2.med returtyp Konstruktor 1.utan static 2.utan returtyp 3. samma namn som klassen

5 5 Klassmetoder och Instansmetoder •Normalt anropas alltid en instansmetod 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 (klassmetod) kan den anropas direkt från klassen - utan att man behöver skapa något objekt. double x = Math.sqrt(17); •En klassmetod kan använda klassvariabler men för att använda instansvariabler så måste finnas ett objekt.

6 6 Skapa en klass för TV • TV:en har 3 kanaler/program. •De 3 kanalerna ska initieras vid instanseringen. • Det ska finnas metod så att man kan byta kanal när man anropar metoden. •Det ska finnas en metod som visar vad det är för program som sänds.

7 7 Klassen TV •Vilka variabler ska klassen ha? Ska de vara instansvariabler eller klassvariabler? •Vilka metoder ska klassen ha ska de vara klassmetoder eller instansmetoder?

8 8 Static när och varför? P-HUS 200 nokia limpa BMW PC för 5000

9 9 P-HUS 200 nokia limpa BMW PC för 5000 Static när och varför?

10 10 P-HUS 200 nokia limpa BMW PC för 5000 Static när och varför?

11 11 P-HUS 199 limpa BMW 199 PC för nokia Static när och varför?

12 12 Klassen skylt •Vilka variabler ska klassen ha? Ska de vara instansvariabel eller klassvariabel. •Vilka metoder ska klassen ha ska de vara instansmetod eller klassmetod?

13 13 Slumpa ett nummer •För att generera ett slumptal finns det två olika sätt i java. –Math.random() som returnerar ett tal av typen double som är större eller lika med 0.0 och mindre än 1.0 –Klassen Random, där finns flera metoder som är mer användbar.

14 14 Filinläsning •Man kan använda klassen Scanner för att läsa data från en fil istället för tangentbordet. /* följande kod skapar en instans av Scanner för att läsa från filen namnlista.txt */ Scanner infil = new Scanner( new File(”namnlista.txt”)); //följande läser första raden från filen String rad = infil.nextLine();

15 15 Hantera ett särfall •try block1 catch(Exception e ) block2 •Datorn försöker exekvera koden i block1. Om det blir något fel i någon sats så slutar exekveringen av koden som är kvar i block1 och datorn fortsätter exekvering av koden som finns i block2. •Observera att kod i block2 exekveras ifall det blir något exekveringsfel i kod i block1.

16 16 Hantering av särfall •Det finns en hel del fördefinierade exception klasser man kan använda. –FileNotFoundException, när programmet vill öppna en fil som inte finns. –ArithmeticException, när man t.ex dividerar ett tal med noll.(talet får inte vara noll) –ArrayIndexOutOfBoundsException, när man vill komma ett index i en array som inte finns. –Osv …


Ladda ner ppt "1 Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305 •Repetition •Instansvariabler och klassvariabler •Klassmetoder och Instansmetoder •Exception."

Liknande presentationer


Google-annonser