Na wstępie przepraszam, jeśli to zły dział/forum.
Uczę się Javy i staram się zrozumieć obiektowość. Utknąłem na dziale "dziedziczenie". Wg teorii ten kod powinien działać, ale niestety coś jest nie tak. Czy ktoś może mi pomóc?
Klasa Owoc
[code]
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package pl.dudeck.www;
/**
*
-
@Author Mati
*/
public class Owoc {
protected String nazwa;
protected String kolor="czerwony";
protected String ksztalt="owalny";
protected int rozmiar;
protected boolean swiezosc=true;
Owoc(){
}
Owoc(String naz, String kol, String kszt, int roz, boolean swiez){
this.nazwa = naz;
this.kolor=kol;
this.ksztalt=kszt;
this.rozmiar=roz;
this.swiezosc=swiez;
}
public String wypisz(){
return (nazwa+" jest koloru "+kolor+" kształt "+ksztalt+" rozmiar "+rozmiar+" i jest "+swiezosc);
}
public void losuj(){
System.out.println((Math.random() < 0.5) ? "Prawda" : "Fałsz!");
}
}
[/code]
Klasa Warzywo dziedzicząca po Owoc
[code]
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package pl.dudeck.www;
/**
*
-
@Author Mati
*/
public class Warzywo extends Owoc{
private int ciezar;Warzywo(String naz, String kol, String kszt, int roz, boolean swiez, int ciez){
super.nazwa = naz;
super.kolor=kol;
super.ksztalt=kszt;
super.rozmiar=roz;
super.swiezosc=swiez;
this.ciezar=ciez;
}public String wypisz(){
return (nazwa+" jest koloru "+kolor+" kształt "+ksztalt+" rozmiar "+rozmiar+" i jest "+swiezosc+" i wazy "+ciezar);
}
public int oblicz(){
return ciezar*rozmiar;
}
}
[/code]
Klasa Main
[code]
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package pl.dudeck.www;
/**
*
-
@Author Mati
*/
public class Main {
public static void main(String[] args){
Owoc ob1 = new Owoc("Jabłko", "czerwone", "okrągłe", 50, true);
ob1.wypisz();
ob1.losuj();
Warzywo ob2 = new Warzywo("Jabłko", "czerwone", "okrągłe", 50, true, 500);
ob2.wypisz();
ob2.oblicz();
}
}
[/code]