• Nie Znaleziono Wyników

Wykład 2 – część druga

N/A
N/A
Protected

Academic year: 2021

Share "Wykład 2 – część druga"

Copied!
37
0
0

Pełen tekst

(1)

PIO 2_2, Zofia Kruczkiewicz 1

Wykład 2 – część druga

Iteracyjno-rozwojowy cykl

oprogramowania 2

(2)

PIO 2_2, Zofia Kruczkiewicz 2

Przygotowanie powiązania 1:1

(3)

PIO 2_2, Zofia Kruczkiewicz 3

(4)

PIO 2_2, Zofia Kruczkiewicz 4

(5)

PIO 2_2, Zofia Kruczkiewicz 5

(6)

PIO 2_2, Zofia Kruczkiewicz 6

Generowanie kodu, który implementuje powiązanie 1:1

(7)

PIO 2_2, Zofia Kruczkiewicz 7

(8)

PIO 2_2, Zofia Kruczkiewicz 8

(9)

PIO 2_2, Zofia Kruczkiewicz 9

(10)

PIO 2_2, Zofia Kruczkiewicz 10

Wygenerowany kod klasy Uchwyt

(11)

PIO 2_2, Zofia Kruczkiewicz 11

Uzupełnienie kodu klasy Uchwyt

(12)

PIO 2_2, Zofia Kruczkiewicz 12

package katalog1;

public class Uchwyt {

private Tytul_ksiazki mTytul_ksiazki;

public Uchwyt() { }

public void dodaj_tytul(String a, String b, String c, String d, String e)

// your code here

{ mTytul_ksiazki=new Tytul_ksiazki();

mTytul_ksiazki.setTytul(a);

mTytul_ksiazki.setNazwisko(b);

mTytul_ksiazki.setImie(c);

mTytul_ksiazki.setISBN(d);

mTytul_ksiazki.setWydawnictwo(e); }

public Tytul_ksiazki getTytul_ksiazki() { return mTytul_ksiazki; } public void setTytul_ksiazki(Tytul_ksiazki val) { this.mTytul_ksiazki = val; } public static void main(String t[]) // your code here

{ Uchwyt ap=new Uchwyt();

ap.dodaj_tytul("1","1","1","1","1");

String lan=ap.getTytul_ksiazki().toString();

System.out.println(lan); }

}

(13)

PIO 2_2, Zofia Kruczkiewicz 13

Uruchomienie programu

(14)

PIO 2_2, Zofia Kruczkiewicz 14

Relacja jeden do wiele

(15)

PIO 2_2, Zofia Kruczkiewicz 15

(16)

PIO 2_2, Zofia Kruczkiewicz 16

Wygenerowany kod implementujący relację 1:wiele

(17)

PIO 2_2, Zofia Kruczkiewicz 17

Zmiana scenariusza dodaj_tytul - dodanie LifeLine dla kolekcji mTytul_ksiazki

(18)

PIO 2_2, Zofia Kruczkiewicz 18

Zmiana scenariusza dodaj_tytul - dodanie metody typu Message To Self

(19)

PIO 2_2, Zofia Kruczkiewicz 19

Zmiana scenariusza dodaj_tytul - dodanie metody typu Message To Self

(20)

PIO 2_2, Zofia Kruczkiewicz 20

(21)

PIO 2_2, Zofia Kruczkiewicz 21

(22)

PIO 2_2, Zofia Kruczkiewicz 22

(23)

PIO 2_2, Zofia Kruczkiewicz 23

(24)

PIO 2_2, Zofia Kruczkiewicz 24

(25)

PIO 2_2, Zofia Kruczkiewicz 25

(26)

PIO 2_2, Zofia Kruczkiewicz 26

(27)

PIO 2_2, Zofia Kruczkiewicz 27

public class Uchwyt {

private ArrayList<Tytul_ksiazki> mTytul_ksiazki = new ArrayList<Tytul_ksiazki>();

public Uchwyt() { }

public void dodaj_tytul(String a, String b, String c, String d, String e) { Tytul_ksiazki tytul_ksiazki=new Tytul_ksiazki();

tytul_ksiazki.setTytul(a);

tytul_ksiazki.setNazwisko(b);

tytul_ksiazki.setImie(c);

tytul_ksiazki.setISBN(d);

tytul_ksiazki.setWydawnictwo(e);

addTytul_ksiazki(tytul_ksiazki); }

public ArrayList<Tytul_ksiazki> getTytul_ksiazki() { return mTytul_ksiazki;}

public void setTytul_ksiazki(ArrayList<Tytul_ksiazki> val) { this.mTytul_ksiazki = val;}

public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki) { if (! this.mTytul_ksiazki.contains(tytul_ksiazki))

this.mTytul_ksiazki.add(tytul_ksiazki); }

Uzupełniono kod metody addTytul_ksiazki, wg scenariusza ze zmodyfikowanego diagramu sekwencji dodaj_tytul

(28)

28 public class Uchwyt {

private ArrayList<Tytul_ksiazki> mTytul_ksiazki = new ArrayList<Tytul_ksiazki>();

public Uchwyt() { }

public void dodaj_tytul(String a, String b, String c, String d, String e) { Tytul_ksiazki tytul_ksiazki=new Tytul_ksiazki();

tytul_ksiazki.setTytul(a);

tytul_ksiazki.setNazwisko(b);

tytul_ksiazki.setImie(c);

tytul_ksiazki.setISBN(d);

tytul_ksiazki.setWydawnictwo(e);

addTytul_ksiazki(tytul_ksiazki); }

public ArrayList<Tytul_ksiazki> getTytul_ksiazki() { return mTytul_ksiazki; } public void setTytul_ksiazki(ArrayList<Tytul_ksiazki> val) { this.mTytul_ksiazki = val; } public void addTytul_ksiazki(Tytul_ksiazki tytul_ksiazki)

{ if (! this.mTytul_ksiazki.contains(tytul_ksiazki)) this.mTytul_ksiazki.add(tytul_ksiazki); } public static void main(String t[]) // your code here

{ Uchwyt ap=new Uchwyt();

ap.dodaj_tytul("1","1","1","1","1");

ap.dodaj_tytul("2","2","2","2","2");

ap.dodaj_tytul("2","2","2","2","2");

String lan=ap.getTytul_ksiazki().toString();

System.out.println(lan); } }

(29)

PIO 2_2, Zofia Kruczkiewicz 29 public class Tytul_ksiazki

{ private String wydawnictwo;

private String ISBN;

private String tytul;

private String nazwisko;

private String imie;

public Tytul_ksiazki() {}

public String getWydawnictwo() { return wydawnictwo; }

public void setWydawnictwo(String _wydawnictwo) { wydawnictwo = _wydawnictwo; } public String getISBN() {return ISBN; }

public void setISBN(String _ISBN) {ISBN = _ISBN; } public String getTytul() {return tytul; } public void setTytul(String _tytul) {tytul = _tytul; } public String getNazwisko() {return nazwisko;}

public void setNazwisko(String _nazwisko) {nazwisko = _nazwisko;}

public String getImie() {return imie; } public void setImie(String _imie) {imie = _imie; }

public

String toString() // your code here

{ String pom="Tytul: "+getTytul();

pom+=" Autor:"+getNazwisko() +" "+getImie();

pom+=" ISBN: "+getISBN();

pom+=" Wydawnictwo:"+getWydawnictwo();

return pom;

}

}

(30)

PIO 2_2, Zofia Kruczkiewicz 30

Skutki wywołania metody equals w metodzie contains,

dziedziczonej od klasy Object, która nie uwzględnia właściwości

klasy dziedziczącej Tytul_ksiazki

(31)

PIO 2_2, Zofia Kruczkiewicz 31

Uzupełniono scenariusz metody dodaj_tytul o wywołanie metody equals dziedziczonej od

klasy Object, którą przesłania w metodzie contains

(32)

32

Uzupełniona definicja klasy Tytul_ksiazki o metodę equals, która przesłania metodę

equals dziedziczoną od klasy Object

(33)

PIO 2_2, Zofia Kruczkiewicz 33

(34)

PIO 2_2, Zofia Kruczkiewicz 34

(35)

PIO 2_2, Zofia Kruczkiewicz 35

Uzupełniono kod metody equals, która przesłania metodę equals dziedziczoną od klasy Object

(36)

36 public class Tytul_ksiazki

{ private String wydawnictwo;

private String ISBN;

private String tytul;

private String nazwisko;

private String imie;

public Tytul_ksiazki() {}

public String getWydawnictwo() {return wydawnictwo; }

public void setWydawnictwo(String _wydawnictwo) { wydawnictwo = _wydawnictwo; } public String getISBN() { return ISBN; }

public void setISBN(String _ISBN) { ISBN = _ISBN; } public String getTytul() { return tytul; } public void setTytul(String _tytul) { tytul = _tytul; } public String getNazwisko() { return nazwisko; } public void setNazwisko(String _nazwisko) { nazwisko = _nazwisko;}

public String getImie() { return imie; }

public void setImie(String _imie) { imie = _imie; }

public boolean

equals(Object ob) //your code here

{ boolean a=ISBN.equals(((Tytul_ksiazki)ob).getISBN());

//System.out.println(a);

return a; }

public String toString() // your code here

{ String pom="Tytul: "+getTytul();

pom+=" Autor:"+getNazwisko() +" "+getImie();

pom+=" ISBN: "+getISBN();

pom+=" Wydawnictwo:"+getWydawnictwo();

return pom; }

}

(37)

PIO 2_2, Zofia Kruczkiewicz 37

Cytaty

Powiązane dokumenty

Należy wykonać dwie wersje programu: jedna z konstruktorami zwykłym (z parametrami domyślnymi) i kopiującym dla klasy kolo bez listy argumentów oraz druga z

Wykonać wybrany z dwuargumentowych operatorów przeciążonych z punktu 2 (np.+) jako funkcje zaprzyjaźnioną. W metodzie odleglosc przekazać obiekt typu punkt przez wartość i

Identyfikacja złożonych danych reprezentowanych przez klasy powiązane dziedziczeniem i polimorfizmem podczas opracowania koncepcji programu obiektowego.. Dziedziczenie

Interfejs (interface): abstrakcyjny typ danych, tworzący hierarchię typów powiązanych dziedziczeniem wielobazowym, które deklarują abstrakcyjne operacje na elementach

Definicja: Mówimy, że zadanie z jest dobrze postawione, jeśli wektor w jest jednoznacznie określony dla przyjętego wektora danych x.. Przykład: Przykładem zadania, które nie

Minimalizowanym funkcjonałem jest suma kwadratów różnic wartości funkcji interpolacyjnej i wartości obserwowanych w punktach pomiarowych. Najczęściej stosuje się ją do funkcji

Przyrodzie ciała doskonale czarne nie występują, dlatego często definiuje się pojęcie ciała doskonale szarego, przez które rozumie się ciało, dla którego zdolność

Pojawi się zatem mechanizm polimorfizmu - czyli metoda Rysuj, w zależności od obiektu, na którymjest wykonywana,.. sporządzi inny