Programozs I 6 gyakorlat Szegedi Tudomnyegyetem Termszettudomnyi s

  • Slides: 10
Download presentation
Programozás I. 6. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1

Programozás I. 6. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1

Interfész • Olyan „osztály”, amiben csak absztrakt metódus van • Csak egy formát ad,

Interfész • Olyan „osztály”, amiben csak absztrakt metódus van • Csak egy formát ad, implementáció nélkül • Nincs benne az osztályhierarchiában interface Hangszer{. . . } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 2

Interfész • Metódusai: – impliciten public és abstract – nem lehet private és final

Interfész • Metódusai: – impliciten public és abstract – nem lehet private és final (nem lenne értelme) – Miért? • interfészt implementálni az implements kulcsszóval lehet • Egyszerre több interfészt is implementálhatunk Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 3

Interface vs. abstract class • Interface: – implementáljuk – egyetlen metódust sem implementálhat –

Interface vs. abstract class • Interface: – implementáljuk – egyetlen metódust sem implementálhat – egyszerre több interface-t is implementálhatunk • Abstract class: – örököltetjük – implementálhat metódusokat – csak egyszeresen örököltethetünk Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 4

Interfész public class Zongora implements Hangszer{. . . } public abstract class Alkoholos. Ital

Interfész public class Zongora implements Hangszer{. . . } public abstract class Alkoholos. Ital extends Ital implements Alkoholos{. . . } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 5

Instance of • Ezzel megvizsgálhatjuk az objektum típusát (konkrét egyezés, vagy gyerek) public void

Instance of • Ezzel megvizsgálhatjuk az objektum típusát (konkrét egyezés, vagy gyerek) public void is. String(Object o){ if(o instanceof String){ System. out. println("Ez egy String. "); } else { System. out. println("Ez nem egy String. "); } } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 6

Kacsa class Kis. Kacsa{ } class Kozepes. Kacsa extends Kis. Kacsa{ } class Nagy.

Kacsa class Kis. Kacsa{ } class Kozepes. Kacsa extends Kis. Kacsa{ } class Nagy. Kacsa extends Kozepes. Kacsa{ } public class Main { public static void main(String[] args){ Kis. Kacsa kacsa = new Nagy. Kacsa(); if(kacsa instanceof Kis. Kacsa) { System. out. println("Ez egy Kis. Kacsa!"); } if(kacsa instanceof Kozepes. Kacsa){ System. out. println("Ez egy Kozepes. Kacsa!"); } if(kacsa instanceof Nagy. Kacsa){ System. out. println("Ez egy Nagy. Kacsa!"); } } } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 7

get. Class() • Hasonló az instanceof-hoz • De ez csak konkrét típusokra hasonlít össze,

get. Class() • Hasonló az instanceof-hoz • De ez csak konkrét típusokra hasonlít össze, gyerekekre nem! • Örököljük az Object ősosztálytól (és nem is írhatjuk felül!) public void is. String(Object o){ if(o. get. Class() == String. class){ System. out. println("Ez egy String. "); } else { System. out. println("Ez nem egy String. "); } } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 8

Kacsa class Kis. Kacsa{ } class Kozepes. Kacsa extends Kis. Kacsa{ } class Nagy.

Kacsa class Kis. Kacsa{ } class Kozepes. Kacsa extends Kis. Kacsa{ } class Nagy. Kacsa extends Kozepes. Kacsa{ } public class Main { public static void main(String[] args){ Kis. Kacsa kacsa = new Nagy. Kacsa(); if (kacsa. get. Class() == Kis. Kacsa. class) { System. out. println("Ez egy Kis. Kacsa!"); } if (kacsa. get. Class() == Kozepes. Kacsa. class) { System. out. println("Ez egy Kozepes. Kacsa!"); } if (kacsa. get. Class() == Nagy. Kacsa. class) { System. out. println("Ez egy Nagy. Kacsa!"); } } } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 9

Jövő héten zh • Személyi igazolvány/diákigazolvány • Minden nyomtatott segédanyag használható! – Általam készített

Jövő héten zh • Személyi igazolvány/diákigazolvány • Minden nyomtatott segédanyag használható! – Általam készített segédlet: http: //www. inf. uszeged. hu/~antal/okt/prog 1_zh 1_2015. pdf – Aki gyakorol, annak ez biztosan elegendő – Előadásdia, gyakorlati diák, példakódok, könyvek • NEM lesz gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 10