Pytania
1. Dziedziczenie metod bez przedefiniowania i z przedefiniowaniem: rola słowa kluczowego super; przeciążanie metod Zdefiniuj metody wyswietl w klasach Produkt1 (bez parametrów) i Produkt2 (z parametrem)
class Produkt1 { int cena;
String nazwa;
Produkt1(int cena_, String nazwa_)
{ cena=cena_; nazwa=new String (nazwa_);}
void wyswietl() { } //na ekranie cena i nazwa }
class Produkt2 extends Produkt1 { int promocja;
//zdefiniuj konstruktor, który dziedziczy po Produkt1 i //przypisuje promocja_ do składowej promocja //oraz metode wyswietl, która na ekranie wyświetla
// dane: cena, nazwa za pomocą dziedziczonej metody wyswietl oraz //promocja wraz przekazanym przez nagłówek łańcuchem zawierającym menu- wykorzystaj do definicji słowo super
}
public class Produkt
{ public static void main (String[] args) { Produkt2 p2 = new Produkt2(20,”zeszyt”,2);
Produkt1 p1 = new Produkt1(10, ”pioro”);
p2.wyswietl(); //20, zeszyt, 2 p2.wyswietl(”cena, nazwa, promocja: ”);
//cena, nazwa, promocja: 20, zeszyt, 2 p1.wyswietl(); } //10, pioro
}
2. Polimorfizm czyli korzystanie z metod przedefiniowanych z identycznym nagłówkiem (nazwa, parametry, wynik zwracany przez return). Podaj kody funkcji rysuj() i wyswietl() w klasie Produkt1 i Produkt2.
public interface Dane
{ String produkt ="produkt: ";
void rysuj(); }
class Produkt1 implements Dane { int cena;
String nazwa;
Produkt1(int cena_, String nazwa_)
{ cena=cena_; nazwa=new String (nazwa_); } void wyswietl() { } //wyświetla nazwę i cenę void rysuj() { } //wyświetla typ produktu }
class Produkt2 extends Produkt1 { int promocja;
//zdefiniuj konstruktor, który dziedziczy po Produkt1 (słowo // super) i przypisuje promocja_ do składowej promocja
//oraz dwie metody: wyswietl(), rysuj()
//pierwsza wyświetla na ekranie dane: cena, nazwa, za pomocą dziedziczonej //metody wyswietl oraz promocja- do definicji wykorzystaj słowo super //druga podaje typ produktu
public class Produkt
{ static void wyprowadz(/*podaje typ parametru*/) { p.wyswietl();
p.rysuj(); }
public static void main (String[] args) { Produkt2 p2 = new Produkt2(20,”zeszyt”,2);
Produkt1 p1 = new Produkt1(10, ”pioro”);
wyprowadz(p2); // 20, zeszyt, 2 // To jest typ2 produktu wyprowadz(p1); } // 10, pioro
} // To jest typ 1 produktu
1. Dziedziczenie metod bez przedefiniowania i z przedefiniowaniem: rola słowa kluczowego super; przeciążanie metod Zdefiniuj metody wyswietl w klasach Produkt1 (bez parametrów) i Produkt2 (z parametrem)
class Produkt1 { int cena;
String nazwa;
Produkt1(int cena_, String nazwa_)
{ cena=cena_; nazwa=new String (nazwa_);}
void wyswietl() { } //na ekranie cena i nazwa }
class Produkt2 extends Produkt1 { int promocja;
//zdefiniuj konstruktor, który dziedziczy po Produkt1 i //przypisuje promocja_ do składowej promocja //oraz metodę wyswietl, która na ekranie wyświetla
// dane: cena, nazwa za pomocą dziedziczonej metody wyswietl oraz //promocja wraz przekazanym przez nagłówek łańcuchem zawierającym menu- wykorzystaj do definicji słowo super
}
public class Produkt
{ public static void main (String[] args) { Produkt2 p2 = new Produkt2(20,”zeszyt”,2);
Produkt1 p1 = new Produkt1(10, ”pioro”);
p2.wyswietl(); //20, zeszyt, 2 p2.wyswietl(”cena, nazwa, promocja: ”);
//cena, nazwa, promocja: 20, zeszyt, 2 p1.wyswietl(); } //10, pioro
}
2. Polimorfizm czyli korzystanie z metod przedefiniowanych z identycznym nagłówkiem (nazwa, parametry, wynik zwracany przez return). Podaj kody funkcji rysuj() i wyswietl() w klasie Produkt1 i Produkt2.
public interface Dane
{ String produkt ="produkt: ";
void rysuj(); }
class Produkt1 implements Dane { int cena;
String nazwa;
Produkt1(int cena_, String nazwa_)
{ cena=cena_; nazwa=new String (nazwa_); } void wyswietl(){ } //wyświetla nazwę i cenę void rysuj() { } //wyświetla typ produktu }
class Produkt2 extends Produkt1 { int promocja;
//zdefiniuj konstruktor, który dziedziczy po Produkt1 (słowo // super) i przypisuje promocja_ do składowej promocja
//oraz dwie metody: wyswietl(), rysuj()
//pierwsza wyświetla na ekranie dane: cena, nazwa, za pomocą dziedziczonej //metody wyswietl oraz promocja- do definicji wykorzystaj słowo super //druga podaje typ produktu
public class Produkt
{ static void wyprowadz(/*podaje typ parametru*/) { p.wyswietl();
p.rysuj(); }
public static void main (String[] args) { Produkt2 p2 = new Produkt2(20,”zeszyt”,2);
Produkt1 p1 = new Produkt1(10, ”pioro”);
wyprowadz(p2); // 20, zeszyt, 2 // To jest typ2 produktu wyprowadz(p1); } // 10, pioro
} // To jest typ 1 produktu
3. Napisz program, który umożliwia obsługę zdarzenia typu Action – zdefiniuj metody zarządcy zdarzeń obsługującej zdarzenie oraz przycisk typu JButton generujący zdarzenie
public class Prosta_Aplikacja3 extends JFrame implements ActionListener {
JButton weopinia1 = new JButton("Jezyk angielski");
JTextField wyopinia1=new JTextField(30);
String dana = new String ();
public Prosta_Aplikacja3() { //zdefiniować ciało konstruktora }
public void actionPerformed (ActionEvent evt)
{/*zdefiniować ciało metody obsługującej zdarzenie od przycisku weopinia1*/}
public static void main(String[] arg) throws Exception { Prosta_Aplikacja3 pr= new Prosta_Aplikacja3();
pr.show();}
}
3. Napisz program, który umożliwia obsługę zdarzenia typu Action – zdefiniuj metody zarządcy zdarzeń obsługującej zdarzenie oraz przycisk typu JButton generujący zdarzenie
public class Prosta_Aplikacja3 extends JFrame implements ActionListener {
JButton weopinia1 = new JButton("Jezyk angielski");
JTextField wyopinia1=new JTextField(30);
String dana = new String();
public Prosta_Aplikacja3() { //zdefiniować ciało konstruktora }
public void actionPerformed (ActionEvent evt)
{/*zdefiniować ciało metody obsługującej zdarzenie od przycisku weopinia1*/}
public static void main(String[] arg) throws Exception { Prosta_Aplikacja3 pr= new Prosta_Aplikacja3();
pr.show(); } }