Presentation laddar. Vänta.

Presentation laddar. Vänta.

Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius.

Liknande presentationer


En presentation över ämnet: "Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius."— Presentationens avskrift:

1 Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius

2 Lektion 2a class Hello { private String greeting = "Hello "; public Hello(){ greeting = greeting + "World!"; }//defaultkonstruktor public Hello(String place){ greeting = greeting + place; }//konstruktor som tar argument

3 Lektion 2a public String sayHello(){ return greeting; }//sayHello }//Hello

4 Lektion 2a public class Lektion2a { public static void main(String[] args){ //En hälsning med valfri plats Hello hello1 = new Hello("Kista"); String message = hello1.sayHello() + "!"; System.out.println(message);

5 Lektion 2a //En hälsning med defaultkonstruktorn Hello hello2 = new Hello(); System.out.println( hello2.sayHello()); }//main }//Lektion2a

6 Lektion 2b Några viktiga modifierare: –public –protected –private –final –static –abstract

7 Lektion 2b Några viktiga begrepp: –Klassvariabel –Instansvariabel –Lokal variabel –Åtkomstmetod PAUS 15 min

8 Lektion 2c public abstract class Figur { private String färg; public Figur(){ färg = "svart"; }//defaultkonstruktor public Figur(String färg) { this.färg = färg; }//konstruktor som tar argument

9 Lektion 2c public String visaFärg() { return färg; } public abstract double visaArea(); }//Figur

10 Lektion 2c public class Rektangel extends Figur { private double bredd, höjd; public Rektangel(double bredd, double höjd) { super(); this.bredd = bredd; this.höjd = höjd; }//konstruktor som tar två argument

11 Lektion 2c public Rektangel(double bredd, double höjd, String färg) { super(färg); this.bredd = bredd; this.höjd = höjd; }//konstruktor som tar tre argument public double visaArea() { return bredd * höjd; }//överskuggning av basklassens visaArea }//Rektangel

12 Lektion 2c public class Triangel extends Figur { private double bas, höjd; public Triangel(double bas, double höjd) { super(); this.bas = bas; this.höjd = höjd; }//konstruktor som tar två argument

13 Lektion 2c public Triangel(double bas, double höjd, String färg) { super(färg); this.bas = bas; this.höjd = höjd; }//konstruktor som tar tre argument public double visaArea() { return bas * höjd / 2; }//visaArea }//Triangel

14 Lektion 2c public class Cirkel extends Figur { static final float PI = 3.14159f; private double radie; public Cirkel(double radie) { super(); this.radie = radie; }//konstruktor som tar ett argument

15 Lektion 2c public Cirkel(double radie, String färg) { super(färg); this.radie = radie; }//konstruktor som tar två argument public double visaArea() { return PI * radie * radie; }//visaArea }//Cirkel

16 Lektion 2c public class Kvadrat extends Rektangel { private int xKoordinat; private int yKoordinat; public Kvadrat(double sida,int x,int y) { super(sida, sida); xKoordinat = x; yKoordinat = y; }//konstruktor som tar tre argument

17 Lektion 2c public Kvadrat(double sida, String färg, int x, int y) { super(sida, sida, färg); xKoordinat = x; yKoordinat = y; } public int visaX(){ return xKoordinat; }

18 Lektion 2c public int visaY(){ return yKoordinat; } }//Lektion2c PAUS 15 min

19 Lektion 2c public class Lektion2c { public static void main(String[] args) { //Vi testkör cirkelklassen Cirkel cirkel = new Cirkel(4, "gul"); System.out.println("Cirkelns färg är:" + cirkel.visaFärg()); System.out.println("Cirkelns area är:" + cirkel.visaArea()+" ae\n");

20 Lektion 2c //Vi testkör Rektangelklassen Rektangel rekt = new Rektangel(4, 4); System.out.println("Rektangelns färg är:" + rekt.visaFärg()); System.out.println("Rektangelns area är:" + rekt.visaArea()+" ae\n");

21 Lektion 2c //Vi testkör Triangelklassen Triangel tri = new Triangel(4, 1,"röd"); System.out.println("Triangelns färg är: " + tri.visaFärg()); System.out.println("Triangelns area är: " + tri.visaArea()+" ae\n"); }//main }//lektion2c

22 Lektion 2d import java.awt.*; public class Lektion2d extends Frame { public Lektion2d(){ //sätt titel genom anrop till basklassen super("Lektion2d, ett första fönster"); //sätt fönstrets storlek this.setSize(300, 200);

23 Lektion 2d //sätt färg på fönstret this.setBackground(new Color(200, 200, 0)); //gör fönstret synligt this.setVisible(true); }//konstruktor public static void main(String[] args) { Lektion2d fönster = new Lektion2d(); } }//Lektion2d


Ladda ner ppt "Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius."

Liknande presentationer


Google-annonser