Az objektum
description
Transcript of Az objektum
![Page 2: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/2.jpg)
2Komoróczy Tamás ([email protected])
Jogi rendelkezésekA következőket teheted a művel:szabadon másolhatod, terjesztheted, bemutathatod és
előadhatod a művet származékos műveket (feldolgozásokat) hozhatsz létre Az alábbi feltételekkel:
Jelöld meg!. A szerző vagy a jogosult által meghatározott módon kell megjelölni a művet: Szerző és eredeti elérhetőség
Ne add el!. Ezt a művet nem használhatod fel kereskedelmi célokra.
Nevezd meg! - Ne add el! 2.5 Magyarország
További információ a képre kattinva
![Page 3: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/3.jpg)
3Komoróczy Tamás ([email protected])
Az objektum részei
• adatelemek,• szerkezeti összefüggések,• szelekciós műveletek• konstrukciós műveletek
![Page 4: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/4.jpg)
4Komoróczy Tamás ([email protected])
Az objektumok 4 fő tulajdonsága
• Az adat és kód egysége• Öröklődés• Polimorfizmus• Zártság
![Page 5: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/5.jpg)
5Komoróczy Tamás ([email protected])
Az objektum
• Az objektum egy létező alkatrésze a programnak
• Egy objektum egy terv alapján készül el, ezt a tervet hívjuk osztálynak
![Page 6: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/6.jpg)
6Komoróczy Tamás ([email protected])
Adat és kód kombinációja
• Egy objektum adatból és kódból áll
• A kód az objektum függvénye, melyet metódusnak hívunk
• Az adatot, melyeket változókkal írunk le, az objektum egyedváltozóinak, vagy attribútumainak nevezzük (megkülönböztetésül a metódusok saját változóitól)
![Page 7: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/7.jpg)
7Komoróczy Tamás ([email protected])
Öröklés• Egy új osztály létrehozásakor
annak alapja lehet egy másik osztály
• Az új osztályban a szülő osztály metódusai és egyedváltozói is használhatóak, az új osztály saját egyedváltozókat és metódusokat is tartalmaz
• Minden objektumnak van szülője a Javaban (Object class)
![Page 8: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/8.jpg)
8Komoróczy Tamás ([email protected])
Példák
• pont kör (egy pont és egy sugár)
• gerincesek madarak• gerincesek halak
![Page 9: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/9.jpg)
9Komoróczy Tamás ([email protected])
Polimorfizmus
• Egy osztály leszármazottjában a metódust újra lehet definiálni. (AZ EGYEDVÁLTOZÓT NEM!!!)
• Hasonló osztályok, hasonló tulajdonságát, ugyan olyan nevű metódussal kezelhetjük
![Page 10: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/10.jpg)
10Komoróczy Tamás ([email protected])
Polimorfizmus példa
• háromszög területe és kör területe objektum orientált programozásban a terulet függvénnyel számítható ki. Pascalban ehhez 2 különböző nevű függvény kell.
• Figyeljük meg, hiába az azonos névű metódus azt az objektum tulajdonságainak megfelelően kell paraméterezni!
![Page 11: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/11.jpg)
11Komoróczy Tamás ([email protected])
Zártság
• Az objektumok egyedváltozóinak manipulálása a programban, kizárólag az objektum metódusain keresztül lehetséges.
• Az objektum metódusai tartják a kapcsolatot a külvilág és az objektum között.
![Page 13: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/13.jpg)
13Komoróczy Tamás ([email protected])
Első programunk
public class Elso { public static void main( String args[] ) { System.out.println( "Hello, ez az első Java programunk!" ); }}
![Page 14: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/14.jpg)
14Komoróczy Tamás ([email protected])
Megjegyzés
• A G: meghajtón hozzunk létre egy Java mappát munkáinknak
• Egy parancs ablakban dolgozzunk(Start menü – Futtatás - cmd)
• Hozzunk létre egy parancsállományt, melyben az adott parancsablakban az elérési utakat a c:\”program Files”\Java\jdk1.5.0_07\bin mappával bővítjük!path=%path%;c:\”Program Files”\Java\jdk1.5.0_07\bin
• A jdk1.5.0_07 mappa helyére a rendszeren elérhető mappát kell írni!
• Mentsük a parancsállományt el java_env.cmd néven!
![Page 15: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/15.jpg)
15Komoróczy Tamás ([email protected])
Mentés-Fordítás-Futtatás
• Mentés az Elso.java nevű állományba– Figyeld meg az elmentett
állomány neve és a public class mögötti név megegyezik!
• Fordítás a javac Elso.java paranccsal• Futtatás ajava Elso paranccsal
![Page 16: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/16.jpg)
16Komoróczy Tamás ([email protected])
MegjegyzésHa nem fut az alkalmazásunk
ellenőrizzük le a CLASSPATH környezeti válozót. Ha nem az aktuális könyvtárra mutat állítsuk át!
set CLASSPATH=.Bővítsük ezzel a sorral a
java_env.cmd állományunkat!(Az állomány első sora
célszerűen legyen @echo off !)
![Page 17: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/17.jpg)
17Komoróczy Tamás ([email protected])
Megjegyzés a Javaban
• Megjegyzés (comment)– egysoros megjegyzés:
// jeltől a sor végéig
– hosszabb megjegyzés:/*...*/
Feladat: Készítsünk megjegyzést az első programunkban a System.out.printl kezdetű sor végére! Írjuk oda, hogy ez az utasítás egy sort ír ki a képernyőre!
![Page 18: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/18.jpg)
18Komoróczy Tamás ([email protected])
Feladat
Készítsünk egy Java programot amely sorra kiírja a nevünket, az iskolánkat és az osztályunkat!
![Page 20: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/20.jpg)
20Komoróczy Tamás ([email protected])
Azonosítók Javaban• Betüvel kezdődik – betűvel vagy
számmal folytatódik• Betűnek számít a $ és az _ jel
valamint az ékezetes magánhangzók is.
• Case-sensitive, azaz különböznek a kis- és nagybetűk
• Az azonosítók hossza nincs korlátozva
• A nyelv kulcsszavai nem lehetnek azonosítók
• Példák:•egészszám, _változó, $dollár, CiklusVáltozó
![Page 21: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/21.jpg)
21Komoróczy Tamás ([email protected])
Egyszerű típusok Javaban
egyszerű típus osztály leírásboolean Boolean logikai típus (true, false)char Character 16 bites Unicode karakterbyte Integer 8 bites egész szám (-128 - +127)short Integer 16 bit, (-32 768 - +32 767)int Integer 32 bit (-2 147 483 648 - +2 147 483 647)long Long 64 bit (-9 223 372 036 854 775 808 - +...)float Float 32 bit (-3,40292347E+38 - +3,40292347E+38)double Double 64 bit (-1,79769313486231570E+308 - +...)
egyszerű típus osztály leírásboolean Boolean logikai típus (true, false)char Character 16 bites Unicode karakterbyte Integer 8 bites egész szám (-128 - +127)short Integer 16 bit, (-32 768 - +32 767)int Integer 32 bit (-2 147 483 648 - +2 147 483 647)long Long 64 bit (-9 223 372 036 854 775 808 - +...)float Float 32 bit (-3,40292347E+38 - +3,40292347E+38)double Double 64 bit (-1,79769313486231570E+308 - +...)
![Page 22: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/22.jpg)
22Komoróczy Tamás ([email protected])
Második program
public class Szöveg { public static void main( String args[] ) {
String szöveg="Hello, kezdő Java programozó vagyok!";
System.out.println( szöveg ); }}
![Page 23: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/23.jpg)
23Komoróczy Tamás ([email protected])
Harmadik program
public class Gyök {
public static void main( String args[] ) {
int szám=225;
System.out.println("A " + szám + " gyöke:" + Math.sqrt(szám) );
}
}
![Page 24: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/24.jpg)
24Komoróczy Tamás ([email protected])
Escape szekvenciák• Kód Leírás• \n újsor• \t tabulátor• \b egy karakter vissza, törlés• \r “kocsi” vissza, soremelés nélkül• \f lapdobás• \\ \ karakter• \' ' karakter, aposztróf• \” “ karakter, idézőjel• \ooo karakter oktális
számrendszerben 0-377• \uhhhh Unicode karakter
hexadecimálisan (0-0xffff)
![Page 25: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/25.jpg)
25Komoróczy Tamás ([email protected])
Feladat
1. Készítsünk Java programot amely különböző numerikus változókkal végzett alapműveletek eredményét íratja ki a képernyőre!
2. Készítsünk Java programot amelyik különböző szövegeket ír ki a képernyőre, ahol a szövegeket, változókban tároljuk!
Megoldás
Megoldás
![Page 27: Az objektum](https://reader035.fdocuments.net/reader035/viewer/2022062423/568148f5550346895db6142e/html5/thumbnails/27.jpg)
27Komoróczy Tamás ([email protected])
A Math osztály néhány függvénye
Visszatérési érték típusa
Függvényfej Funkció
double abs(double a) Abszolút érték
double fcos/sin/tan/asin/acos/atan(double)
Trigonometrikus függvények
double Exp/log(double) ex és ln(x) függvények
double toDegrees/toRadians(double)
Radián érték fok-ba váltása és fordítva
double random() Véletlenszám a [0;1[ intervallumból
double pow(double, double) Hatványozás
int round(double) Kerekítés (lefelé)
double e és PI E és pi értéke