Az objektum

Preview:

DESCRIPTION

Az objektum. Jogi rendelkezések. A 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:. - PowerPoint PPT Presentation

Citation preview

1Komoróczy Tamás (thomas@nyirszikszi.hu)

Az objektum

2Komoróczy Tamás (thomas@nyirszikszi.hu)

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

3Komoróczy Tamás (thomas@nyirszikszi.hu)

Az objektum részei

• adatelemek,• szerkezeti összefüggések,• szelekciós műveletek• konstrukciós műveletek

4Komoróczy Tamás (thomas@nyirszikszi.hu)

Az objektumok 4 fő tulajdonsága

• Az adat és kód egysége• Öröklődés• Polimorfizmus• Zártság

5Komoróczy Tamás (thomas@nyirszikszi.hu)

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

6Komoróczy Tamás (thomas@nyirszikszi.hu)

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)

7Komoróczy Tamás (thomas@nyirszikszi.hu)

Ö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)

8Komoróczy Tamás (thomas@nyirszikszi.hu)

Példák

• pont kör (egy pont és egy sugár)

• gerincesek madarak• gerincesek halak

9Komoróczy Tamás (thomas@nyirszikszi.hu)

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

10Komoróczy Tamás (thomas@nyirszikszi.hu)

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!

11Komoróczy Tamás (thomas@nyirszikszi.hu)

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.

12Komoróczy Tamás (thomas@nyirszikszi.hu)

Vége (objektumok)

13Komoróczy Tamás (thomas@nyirszikszi.hu)

Első programunk

public class Elso { public static void main( String args[] ) {       System.out.println( "Hello, ez az első Java programunk!" );  }}

14Komoróczy Tamás (thomas@nyirszikszi.hu)

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!

15Komoróczy Tamás (thomas@nyirszikszi.hu)

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

16Komoróczy Tamás (thomas@nyirszikszi.hu)

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 !)

17Komoróczy Tamás (thomas@nyirszikszi.hu)

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!

18Komoróczy Tamás (thomas@nyirszikszi.hu)

Feladat

Készítsünk egy Java programot amely sorra kiírja a nevünket, az iskolánkat és az osztályunkat!

19Komoróczy Tamás (thomas@nyirszikszi.hu)

Vége (1. gyakorlat)

20Komoróczy Tamás (thomas@nyirszikszi.hu)

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ó

21Komoróczy Tamás (thomas@nyirszikszi.hu)

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 - +...)

22Komoróczy Tamás (thomas@nyirszikszi.hu)

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 );  }}

23Komoróczy Tamás (thomas@nyirszikszi.hu)

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) );

}

}

24Komoróczy Tamás (thomas@nyirszikszi.hu)

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)

25Komoróczy Tamás (thomas@nyirszikszi.hu)

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

26Komoróczy Tamás (thomas@nyirszikszi.hu)

Vége (2. gyakorlat)

27Komoróczy Tamás (thomas@nyirszikszi.hu)

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

Recommended