Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Hasonló dokumentumok
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

Java programozási nyelv 4. rész Osztályok II.

Osztályok. 4. gyakorlat

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Öröklés és Polimorfizmus

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

BME MOGI Gépészeti informatika 8.

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Objektumorientált programozás C# nyelven

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

JAVA PROGRAMOZÁS 2.ELŐADÁS

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance

C++ programozási nyelv Konstruktorok-destruktorok

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Objektumok inicializálása

C++ programozási nyelv Struktúrák a C++ nyelvben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Osztály és objektum fogalma

OOP #14 (referencia-elv)

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Abstract osztályok és interface-ek. 7-dik gyakorlat

Java programozási nyelv 5. rész Osztályok III.

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Java és web programozás

Java és web programozás

Objektum orientált programozás (Object Oriented Programming = OOP)

III. OOP (objektumok, osztályok)

C#, OOP. Osztályok tervezése C#-ban

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

OOP: Java 8.Gy: Abstract osztályok, interfészek

Java és web programozás

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Felhasználó által definiált adattípus

Programozási alapismeretek 4.

Programozási nyelvek Java

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Bevezetés, a C++ osztályok. Pere László

Bevezetés a Python programozási nyelvbe

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Bánsághi Anna

Származtatási mechanizmus a C++ nyelvben

Web-technológia PHP-vel

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

A C# PROGRAMOZÁSI NYELV

Osztálytervezés és implementációs ajánlások

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Osztálytervezés és implementációs ajánlások

Programozás. Osztályok, Származtatott osztályok. Fodor Attila

Java III. I I. Osztálydefiníció (Bevezetés)

Java III. I I. Osztálydefiníció (Bevezetés)

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Programozás I. Első ZH segédlet

OOP: Java 5.Gy: Osztály, referencia, konstruktor

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Java programozási nyelv 6. rész Java a gyakorlatban

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum

A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges típuskonverziók:

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Programozási nyelvek Java

Objektumorientált Programozás IV.

Objektumorientált szoftverfejlesztés alapjai

500. AA Megoldó Alfréd AA 500.

Objektumorientált programozás C# nyelven

C++ programozási nyelv

Adatstruktúrák, algoritmusok, objektumok

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Objektumelvű programozás

Java programozási nyelv

Szoftvertechnológia alapjai Java előadások

C++ programozási nyelv

Globális operátor overloading

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Szoftvertechnolo gia gyakorlat

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Programozási nyelvek Java

Objektum orientált programozás (Object Oriented Programming = OOP)

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 6.Öröklés Dr. Iványi Péter

Pénzügyi algoritmusok

Globalizáció, Lokalizáció

Objektumorientált programozás C# nyelven

1. Egyszerű (primitív) típusok. 2. Referencia típusok

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Objektumorientált programozás IX. Osztályok, objektumok

OOP #7 (init, done) v :45:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

Objektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben

Elemi Alkalmazások Fejlesztése II.

Átírás:

Programozás BMEKOKAA146 Dr. Bécsi Tamás 7. előadás

AZ OOP alapelvei Egységbezárás(Encapsulation) Az adatokat es a hozzájuk tartozó eljárásokat egyetlen egységben (osztályban) kezeljük. Az osztály adatmezői tároljak az adatokat, a metódusok kommunikálnak a külvilággal. Öröklés(Inheritance) Az osztály továbbfejlesztése. Ennek során a származtatott osztály örökli az ősosztálytól az összes attribútumot, metódust. Ezeket azonban újakkal is kibővíthetjük, ill. bizonyos szabályok mellett az örökölt metódusokat is megváltoztathatjuk. Sokalakúság(Polymorphism) Ugyanarra a metódusra a különböző objektumok különbözőképpen reagáljanak. A származtatás során az ősosztályok metódusai képesek legyenek az új, átdefiniált metódusok használatára újraírás nélkül is. Ezt virtuális (vagy dinamikus) metódusokkal érhetjük el. 2016. 10. 19. Számítástechnika I. 6. Előadás 2

Osztályok class osztálynév [: szülő, ] ; Osztálytaglista Konstruktorok Destruktorok Adattagok Metódusok Minden osztály egy közös ősből, az objectosztályból származik 2016. 10. 19. Számítástechnika I. 6. Előadás 3

Hozzáférési szintek osztályok esetében 1. A private tagokat csak az adott osztályon belülről érhetjük el. 2. Az osztályok publikus public mezőit bárhonnan elérhetjük, módosíthatjuk. 3. A protected mezők az osztályon kívüliek számára nem elérhetőek, míg az utódosztályból igen. 4. Az internal mezőket a készülő program osztályaiból érhetjük el. 5. A protected internal elérés valójában egy egyszerű vagy kapcsolattal megadott hozzáférési engedély. A mező elérhető a programon belülről, vagy az osztály utódosztályából! (Egy osztályból természetesen tudunk úgy utódosztályt származtatni, hogy ez nem tartozik az eredeti programhoz.) 2016. 10. 19. Számítástechnika I. 6. Előadás 4

Egyszerű példa Adattagok class Ember private int eletkor; public string nev; Ember e = new Ember(); //automatikus konstruktor e.nev = "Béla"; //működik e.eletkor= 12; //nem működik 2016. 10. 19. Számítástechnika I. 6. Előadás 5

Egyszerű példa Metódusok public int geteletkor() return eletkor; public void oregszik() eletkor++; public void kiir() Console.WriteLine("0 1", nev, geteletkor()); 2016. 10. 19. Számítástechnika I. 6. Előadás 6

Konstruktorok Osztályok esetén ez a kezdőérték-adás nem biztos, hogy olyan egyszerű, mint volt elemi típusok esetén, ezért ebben az esetben egy függvény kapja meg az osztály inicializálásával járó feladatot. Ez a függvény az osztály születésének pillanatában automatikusan végrehajtódik, és konstruktornak vagy konstruktor függvénynek nevezzük. A konstruktor neve mindig az osztály nevével azonos. Ha ilyet nem definiálunk, a keretrendszer egy paraméter nélküli automatikus konstruktort definiál az osztály számára. Az osztály referencia típusú változó, egy osztálypéldány létrehozásához kötelező a new operátort használni, ami egyúttal a konstruktor függvény meghívását végzi el. 2016. 10. 19. Számítástechnika I. 6. Előadás 7

Konstruktorok Példa public Ember(int peletkor) eletkor = peletkor; public Ember(Ember e) eletkor = e.eletkor; nev = e.nev; 2016. 10. 19. Számítástechnika I. 6. Előadás 8

DateTime Típus Tulajdonság Magyarázat konstruktor DateTime(Int32, Int32, Int32) Év/hónap/nap konstruktor DateTime(Int32, Int32, Int32, Int32, Int32, Int32) Év/hónap/nap/óra/perc static DateTime Now Pontos idő int Year, Month, Day, Hour, Minute, Second, Millisecond Idő komponens lekérése long Ticks 0001.01.01 0:00:00 óta eltelt idő 100nanosec-ben megadva (1 ms =10 000 Tick) (1 s =10 000 000 Tick) DateTime AddYear, AddMonth, AddDay, AddHour, AddMinute, AddSecond, AddMillisecond 2016. 10. 19. Számítástechnika I. 6. Előadás 9

String Típus Tulajdonság Magyarázat string ToLower() Kisbetűssé alakítás string ToUpper() Nagybetűssé alakítás string[] Split(char[] separator) separator mentén részekre bontás string Substring(Int32) Substring(Int32, Int32) Szövegrész kinyerése char[] ToCharArray() karaktertömbbé alakítás string int static int Replace(Char, Char) Replace(String,String) IndexOf(String) IndexOf(String,Int32) Compare(String stra, String strb) Compare(String stra, String strb, Boolean) szövegben adott rész lecserélése Elem keresése a szövegben Két string összehasonlítása boolean ignorecase eredmény: <0 stra megelőzi strb-t =0 stra=strb >0 strb megelőzi stra-t 2016. 10. 19. Számítástechnika I. 6. Előadás 10

Char Típus Tulajdonság Magyarázat static char ToLower() Kisbetűvé alakítás static char ToUpper() Nagybetűvé alakítás static boolean IsWhiteSpace(Char) Üres mező static boolean IsLower(Char) kisbetű static boolean IsUpper(Char) nagybetű static boolean IsSymbol(Char) szimbólum static boolean IsNumber(Char) szám static boolean IsLetterOrDigit(Char) szám vagy betű static boolean IsLetter(Char) betű static boolean IsDigit(Char) szám 2016. 10. 19. Számítástechnika I. 6. Előadás 11