1.Witam mam pewien problem przepisalem przyklad z pewnej ksiazki,
i tu gdzie mamy konstruktor wyglada to tak
Pracownik(String nazw, double pens, String date)
{
nazwisko=nazw;
pensja=pens;
data=date;
}
a dane dajemy juz w programie:/
p[0]= new Pracownik("mis jogo", 450.62 , "12 maja 2006");
I moje pytanie jest takie czy jest mozliwosc podawania samemu danych za pomoca JOptionPane.showInputDialog i wstawienie ich do konstruktora??
Na samym dole zrobilem program troszke innaczej czyli tak jak pamietalem zywkladow gdzie podaje wszystkie dane samemu ale nie stworzylem tam konstruktora:/ (jest bez wartosci), a na takim chyba nie zrobie dziedziczenia??
Program z konstruktorem(3 dane):
class Pracownik
{
private String nazwisko;
private String data;
private double pensja;
Pracownik(String nazw, double pens, String date)
{
nazwisko=nazw;
pensja=pens;
data=date;
}
public String pobierzNazw()
{
return nazwisko;
}
public String pobierzDate()
{
return data;
}
public double pobierzPensje()
{
return pensja;
}
public void podniesPensje(double procent)
{
double podwyzka;
podwyzka=pensja * procent / 100;
pensja+=podwyzka;
}
}
public class testPracownika
{
public static void main(String argv[])
{
Pracownik[] p= new Pracownik[3];
p[0]= new Pracownik("mis jogo", 450.62 , "12 maja 2006");
p[1]= new Pracownik("joas mik", 261.2 , "29 kwietnia 2006");
p[2]= new Pracownik("adam s", 424 , "7 kwietnia 2006");
double c=5;
for(int i=0; i<p.length; i++)
{
p[i].podniesPensje(c);
}
for(int i=0; i<p.length; i++)
{
Pracownik k=p[i];
System.out.println("Nazwisko " +(i+1)+ " pracownika to " +k.pobierzNazw()+ "\n"
+"pensja " +k.pobierzPensje()+ " data " +k.pobierzDate()+ "\n");
/*System.out.println("Nazwisko " +(i+1)+ " pracownika to " +p[i].pobierzNazw()+ "\n"
+"pensja " +p[i].pobierzPensje()+ " data " +p[i].pobierzDate()+ "\n");
*/
}
}
}
import javax.swing.*;
class Pracownik
{
String nazwisko="";
String data="";
double pensja;
public void przypiszNazw(String s)
{
nazwisko=s;
}
public void przypiszDate(String s)
{
data=s;
}
public void przypiszPensje(double s)
{
pensja=s;
}
public String pobierzNazw()
{
return nazwisko;
}
public String pobierzDate()
{
return data;
}
public double pobierzPensje()
{
return pensja;
}
public void podniesPensje(double procent)
{
double podwyzka;
podwyzka=pensja * procent / 100;
pensja+=podwyzka;
}
}
public class testPracownika
{
public static void main(String argv[])
{
String s;
double pe;
int a;
s=JOptionPane.showInputDialog(null, "Podaj ilosc pracownikow:");
a=Integer.parseInt(s);
Pracownik[] p= new Pracownik[a];
// Pracownik g=new Pracownik();
for(int i=0; i<p.length; i++)
{
p[i]=new Pracownik();
s=JOptionPane.showInputDialog(null, "Podaj nazisko pracownika:");
p[i].przypiszNazw(s);
s=JOptionPane.showInputDialog(null, "Podaj nazisko pensje:");
pe.Double.parseDouble(s);
p[i].przypiszPensje(pe);
s=JOptionPane.showInputDialog(null, "Podaj date wyplacenia pensji pracownikowi:");
p[i].przypiszDate(s);
}
double c=5;
for(int i=0; i<p.length; i++)
{
p[i].podniesPensje(c);
}
for(int i=0; i<p.length; i++)
{
/* Pracownik k=p[i];
System.out.println("Nazwisko " +(i+1)+ " pracownika to " +k.pobierzNazw()+ "\n"
+"pensja " +k.pobierzPensje()+ " data " +k.pobierzDate()+ "\n");*/
System.out.println("Nazwisko " +(i+1)+ " pracownika to " +p[i].pobierzNazw()+ "\n"
+"pensja " +p[i].pobierzPensje()+ " data " +p[i].pobierzDate()+ "\n");
}
}
}
- Mam chlolera problem z dziedziczeniem:/ dokladnie nieiwej jak rozroznic klasy ktora jest nadklasa a ktora podklasa. np: mam producenta i produkty, nad klasa sa produkty a podklasa jest producent(bo dziedziczy wlasciwosci produktu) czy na odwrot?? Czytam ta ksiazke ale jakos tego zakapowac niemgoe:/