A könyvek metaadatait a Rekord.java osztályban példányszintű mezőkben tároljuk:
public class Rekord {
/* példányszintű mezők */
public String raktari_jelzet;
public String cim;
public String[] szerzok;
public int kiadasi_ev;
/* példányszintű metódusok */
public void kiir() {
if(raktari_jelzet==null || cim==null) {
System.out.println("--- torolt rekord ---\n");
return;
}
System.out.println(raktari_jelzet);
System.out.print(cim);
if(szerzok!=null) {
if(szerzok.length>0) {
System.out.print(" / "+szerzok[0]);
}
for(int i=1;i<szerzok.length;i++) {
System.out.print(", "+szerzok[i]);
}
}
System.out.print(".");
if(kiadasi_ev>0) {
System.out.print(" "+kiadasi_ev+".");
}
System.out.println("\n");
}
/* konstruktorfüggvények */
public Rekord() {
raktari_jelzet=null;
cim=null;
szerzok=null;
kiadasi_ev=0;
}
public Rekord(String r) {
raktari_jelzet=r;
cim=null;
szerzok=null;
kiadasi_ev=0;
}
public Rekord(String r,String c) {
raktari_jelzet=r;
cim=c;
szerzok=null;
kiadasi_ev=0;
}
public Rekord(String r,String c,int k) {
raktari_jelzet=r;
cim=c;
szerzok=null;
kiadasi_ev=k;
}
public Rekord(String r,String c,String s1,int k) {
raktari_jelzet=r;
cim=c;
szerzok=new String[1]; //egy szerző van
szerzok[0]=s1;
kiadasi_ev=k;
}
public Rekord(String r,String c,String s1,String s2,int k) {
raktari_jelzet=r;
cim=c;
szerzok=new String[2]; //két szerző van
szerzok[0]=s1;
szerzok[1]=s2;
kiadasi_ev=k;
}
public Rekord(String r,String c,String s1,String s2,String s3,int k) {
raktari_jelzet=r;
cim=c;
szerzok=new String[3]; //három szerző van
szerzok[0]=s1;
szerzok[1]=s2;
szerzok[3]=s3;
kiadasi_ev=k;
}
public static void main(String[] args) {
Rekord peld1=new Rekord();
Rekord peld2=new Rekord("ISBN 963 7222 82 0",
"A fantom",
"Robert Ludlum",
1989);
Rekord peld3=new Rekord("ISBN 963 03 9005 1",
"Java - start!",
"Veg Csaba", "Juhasz Istvan",
1999);
peld1.kiir();
peld2.kiir();
peld3.kiir();
}
}
A katalogus metaadatait a Katalogus.java osztályban osztályszintű mezőkben tároljuk:
public class Katalogus {
/* osztályszintű mezők */
public static String katalogus_neve;
public static int rekordok_szama;
public static Rekord[] katalogus;
/* osztályszintű metódus */
public static void info() {
System.out.println("Katalogus informaciok:");
System.out.println("\t[katalogus neve: "+katalogus_neve+"]");
System.out.println("\t[rekordok szama: "+rekordok_szama+"]");
System.out.println();
}
public static void main(String[] args) {
katalogus_neve="DEENK";
rekordok_szama=3;
katalogus=new Rekord[rekordok_szama];
katalogus[0]=new Rekord();
katalogus[1]=new Rekord("ISBN 963 7222 82 0",
"A fantom",
"Robert Ludlum",
1989);
katalogus[2]=new Rekord("ISBN 963 03 9005 1",
"Java - start!",
"Veg Csaba", "Juhasz Istvan",
1999);
info();
System.out.println("A katalogusban szereplo rekordok:\n");
for(int i=0;i<katalogus.length;i++) {
System.out.println((i+1)+". rekord");
katalogus[i].kiir();
}
}
}
A feladatot egy leszármazott osztály segítségével valósítjuk meg! A programban előforduló legfontosabb nyelvi elemek:
public class Alap31 extends Alap3 {...} (az Alap31 osztály az Alap3 ősosztály vagy szülőosztály leszármazottja lesz)
super.kiir(); (a szülőosztály kiir() eljárását hívja meg)
this("Ismeretlen",null); (az aktuális, Alap31 osztály kétparaméteres konstruktorát hívja meg "Ismeretlen" és null aktuális értékekkel)
super(s); (a szülőosztály egyparaméteres konstruktorát hívja meg s paraméterrel)
A program utasításai:
public class Alap31 extends Alap3 {
public String becenev;
public static void beallit(String v) {
vnev=v;
}
public void kiir() {
super.kiir();
if(becenev!=null) {
System.out.println("Hivhatlak ugy, hogy "+becenev+"?");
}
}
public Alap31() {
this("Ismeretlen",null);
}
public Alap31(String s) {
this(s,null);
}
public Alap31(String s,String b) {
super(s);
becenev=b;
}
public static void main(String[] args) {
Alap31 peld1=new Alap31();
Alap31 peld2=new Alap31("Ilonka");
Alap31 peld3=new Alap31("Kata","Katinka");
beallit("Szep");
peld1.kiir();
peld2.kiir();
peld3.kiir();
}
}
Szülő és ősosztály
public class Alap3 {
public static String vnev;
public String knev;
public void kiir() {
System.out.println("Hello "+vnev+" "+knev+"!");
}
public Alap3(String s) {
knev=s;
}
public static void main(String[] args) {
Alap3 peld1=new Alap3("Kata");
Alap3 peld2=new Alap3("Szilvi");
vnev="Nagy";
peld1.kiir();
peld2.kiir();
}
}
Forrás: http://bodaistvan.hu/prog/
https://silver.drk.hu/info-kvtar/3felev/zsu/peldaprogramok.html
http://java.progtanulo.hu/book/export/html/162
http://users.atw.hu/nagyimi/prog/egyszeru_Java_programok.html
http://java.inf.elte.hu/java-1.2/awt/awtprog.html
http://java2.uw.hu/
http://www.petrik.hu/files/tamop/SZINFO13/SZINFO13_TJ.pdf
https://users.iit.uni-miskolc.hu/~vargae/Segedlet/ElekT_Java2_kezdo.pdf
https://www.tutorialspoint.com/compile_java_online.php
Nincsenek megjegyzések:
Megjegyzés küldése