Programozás s 2. C# nyelven
|
|
- György Magyar
- 7 évvel ezelőtt
- Látták:
Átírás
1 Programozás s 2 Objektum Orientált Programozás C# nyelven utolsó változtatás s
2 .NET C# - Microsoft találm lmánya a.net platform számára. A C++ 'továbbfejleszt bbfejlesztése' se'.net hálózaton elosztott programok együttm ttműködése Előnyei: Nyelv független, f fordítás s közös k s közbensk zbenső nyelvre (Common( Intermediate Language), amit futás s közben k fordít t le a rendszer gépi g kódra k (Just( In Time compiler) potenciális egyszerűsítés: s: kódok k csoportjai csak egy-egy helyen vannak különböző típusú (Windows-os) os) eszközök k ugyanazzal a kóddal k támogathatt mogathatóakak Microsoft (és( s mások) m könnyebben k szabályozhatj lyozhatják k ki mikor mit futtathat Nyílt szabványokon (is) alapul: XML (Extensible( Markup Language ) és s SOAP (eredetileg 'Simple' Object Access Protocol' ') Hátrányai: Erőforr forrás s igénye a Common Language Runtime miatt nagy Windows specifikus (van linux-os open source próbálkoz lkozás s MONO, DotGNU ), de ezek nem teljesek (.NET 1.1 APIs teljes, %, 3 és s 3.5 -alfa) Egyes függvf ggvények a Base Class Library-ben ben Microsoft szabadalommal védettekv Már r most több, t mint 6000 függvf ggvénye van
3 Az első C# program Egy elso.cs nevű fájlba írjuk be a következk vetkezőket: ket: using System; // class Koszones // ki és s bevitelhez a namespace // minden vmilyen osztályban van // ide nem kéne k public, mert a Main()-t t nem hívhatjuk h meg // a static azt jelenti, hogy objektum létrehozl trehozás s nélkn lkül l is használhat lható args) // itt kezdődik dik a futás public static void Main(string[] args // args[0] az első paraméter, nem a program neve // kiiratás 0 az első behelyettesítend tendő paraméter Console.WriteLine("Szia 0!", args[0]); // itt az args Console.ReadLine(); // csak, hogy az ablak ne csukódj djon n be a Visual Studioból l futtatva. // itt az args[0]
4 C# alap típusokt Boolean csak true,, vagy false lehet. Egészek: sbyte byte short to ushort int to uint long to ulong 64 0 to char
5 C# alap típusokt valós s számok név stringek escape sorozatok: \' \" \\ \0 (nem \v hossz értékes jegyek tartomány float x to 3.4 x double x to 1.7 x decimal x to 7.9 x nem azonos a null értékkel) \a \b \f \n \r \t
6 C# típusokt Minden típus t a System.Object osztályb lyból l van leszármaztatva, ezért vannak metódusai Pl. int a = 3; string s = a.tostring(); Tömbök k (péld ldák) int[] myints = 5, 10, 15 ; // integer tömb myints[2] = 9; ekvivalens deklaráci ció és s definíci ció: int[] myints = new int[] 5, 10, 15 ; string[] mystrings = new string[3]; assert(string[0]) == null) bool[][] mybools = new bool[2][]; //bool tömbt mböket tartalmazó tömb ('jagged' array) mybools[0] = new bool[2]; // az egyes tömbt mbök k dimenziója mybools[1] = new bool[1]; // különbk nbözhet double[,] mydoubles = new double[2, 2]; // két k t indexű tömb mydoubles[0,2] = 3.16; Felsorolási si típusok t (enum)
7 Feltételes teles és s ciklus utasítások sok Ami a C++ -ban is megvan, különbsk nbségekkel: 1. switch() argumentuma lehet enum, egész és string 2. Van foreach ciklus. pl: string[] gyumolcs = "Alma Alma", "Körte rte", "Szilva" Szilva"; foreach (string a in gyumolcs) Console.WriteLine("0 ", a);
8 Kategória elsődleges unáris operátorok C# operátorok (x) x.y f(x) a[x] x++ x new typeof sizeof checked unchecked + -! ~ ++x --x (T)x asszociativitás balra balra szorzás, s, stb * / % balra összeadás + - balra eltolás << >> balra reláci ciós < > <= >= balra egyenlőség ==!= jobbra logikai ÉS & balra logikai VAGY balra kizáró VAGY ^ balra feltételes teles ÉS && balra feltételes teles VAGY balra feltétel tel?... : jobbra értékadás = *= /= %= += -= <<= >>= &= ^= = jobbra
9 Nem static metódusok (függv ggvények) using System; class EgyModszeresOsztaly public static void Main() // static: nem kell objektumot létrehozni l hozzá (mint a C++-ban) string valasztas; EgyModszeresOsztaly om = new EgyModszeresOsztaly(); do valasztas = om.valaszt Valaszt();... while ( valasztas!= 'Q' && valasztas!= 'q'); string Valaszt() // nem static: objektum kell hozzá.. ezért van a new a Main-ben // nem public: kívülrk lről l nem érhető el string valasztas; valasztas = Console.ReadLine(); return valasztas;
10 Osztályok Class Minden elem (objektum, változv ltozó,, konstans, függvf ggvény, stb) valamilyen osztályban van A hozzáférési jogokat minden elemhez meg kell adni. Ezek lehetnek: public protected internal protected internal private bárki hozzáférhet csak a class és s leszármaztatottjai férhetnek f hozzá csak ebből a gyűjtem jteményből l (azaz az együtt fordított fájlokból ún. assembly-ből) l) hozzáférhet rhető,, de itt mindenki számára (azaz itt olyan, mintha public lenne) ebben az assembly-ben ben public, más m s assemblyk-ben ben protected csak maga az osztály férhet f hozzá az osztály elemei lehetnek static-ok. Ezek használatához nem kell objektumot létrehozni.
11 Osztályok 2 constructor public, private, static nincs paramétere, nem hívhath vható explicit módon m (new-val) destructor nincs paramétere, nem hívhath vható meg, nem lehet public, stb konstans elemek definíci ció szerint static-ek, de nem szabad a static kulcsszk lcsszót t eléjük írni: Pl.: public const int A=175; public const int B = A + 6; A static elemek is megváltoztathat ltoztathatóak ak de ez letiltható: public static readonly int piros; A readonly elemek értékét t csak deklaráci cióban, illetve constructorban lehet megadni:
12 Osztályok 3. class Color internal ushort redpart; internal ushort bluepart; internal ushort greenpart; public Color(ushort red, ushort blue, ushort green) redpart = red; bluepart = blue; greenpart = green; public static readonly Color Red = new Color(0xFF, 0, 0); public static readonly Color Blue = new Color(0, 0xFF, 0); public static readonly Color Green = new Color(0, 0, 0xFF); public static readonly Color White = new Color(0xFF, 0xFF, 0xFF);
13 Függvényparaméterek Érték k (value) paraméterek int F(int i) return 2 * i; -> int k = F(12); int j = F(k); ref paraméterek referencia int F( ref int i) return 2 * i; -> int i =4; int k = F(i); // i == 8 out paraméterek csak output a belső paraméter értékét t adja át az out paraméterben class C; int F( out C c) C cc; c = cc; return 1; params paraméterek változó hosszúságú int F(params int [] Param1) foreach(int P in Param1) return v; Túlterhelés: A függvf ggvények argumentumainak száma, típusa, t módosm dosítói i különbk nböznek. Pl.
14 Túlterhelés - Overloading using System; class Test static void F() Console.WriteLine("F()"); ()"); static void F(object o) Console.WriteLine("F(object)"); static void F(int value) Console.WriteLine("F(int)"); static void F(ref int value) Console.WriteLine("F(ref int)"); static void F(int a, int b) Console.WriteLine("F(int, int)"); static void F(int[] values) Console.WriteLine("F(int[])"); static void Main() F(); F(1); int i = 10; F(ref i); F((object)1); F(1, 2); F(new int[] 1, 2, 3);
15 Property-k úgy használhat lható mintha változó lenne, de valójában függvf ggvényhívás: public class Gomb private string szoveg; public string Szoveg get return szoveg; ; // olvasás: s: amikor a Szöveg egy értékadás s jobb oldalán n szerepel set caption = value; Repaint(); // írás: ha a Szöveg egy értékadás bal oldal // value az értékadás s jobb oldaláról l származ rmazó érték k neve a set -en belül // a compiler ezt a nevet várjav void UjraRajzol() s bal oldalán n szerepel Gomb b = new Gomb(); b.szoveg = "Kilépés"; // ez egyúttal újra is rajzolja a szöveget a gombra
16 Indexer-ek ek valamely osztály úgy kezelhető,, mintha tömb t lenne.. ráadr adásul nem is csak int argumentummal: class AsszociativIntTomb private int [] _arr; pubkic AsszociativIntTomb(int int size) _arr = new int[size size]; int this[string s] // ez az indexer nincs saját t neve, csak a this használhat lható // ugyanúgy túlterhelhett lterhelhető,, mint bármely b más m s függvf ggvény get int i = int.parse(s); // a string-ből l integer-t t csinál return _arr[i]; set int i = int.parse(s); _arr[i] = value; Használata: AsszociativIntTomb tomb = new AsszociativIntTomb(3); tomb["1"] = 123;
17 Események Pl. egy gombnyomás: public delegate void EsemenyKezelo(object sender, System.EventArgs e); // a delegate egy olyan típust t jelöl, l, ami egy függvf ggvényt tartalmaz (C++ : egy függvf ggvényre mutató pointer) public class Gomb public event EsemenyKezelo Click; // a fent definiált delegate típust pusú változó public void Reset() Click = null; Click használata: kizárólag += vagy -= = bal oldalán n szerepelhet. += hozzáad egy esemény kezelőt, -= elvesz egyet. Pl. : void Gomb_Kattintas(object sender, System.EventArgs e) // csinál l valamit Gomb gomb1 = new Gomb(); gomb1.click +=.new EsemenyKezelo(Gomb_Kattintas); Lehetséges saját t esemény hozzáad adó,, ill. eltávol volító függvényt is defininiálni.
18 Leszármaztat rmaztatás using System; abstract class A // absztrakt: nem lehet objektumot létrehozni l belőle le public abstract void F(); // nincs megadva mit csinál class B : A public override void F() // átdefiniálva Console.WriteLine(" ("B.F"); public virtual void G() // virtual átdefiniálható a leszármaztatott osztályban Console.WriteLine(" ("B.G"); class C: B public override void G() // az átdefiniáláshoz kell az override base.f.f(); // a szülő osztály módszerem Console.WriteLine(" ("C.G");");
19 struct Hasonló az osztályhoz, vagy az interface- ekhez de: nem lehet leszármaztatni belőle le érték-ként adódik dik át t (osztály referenciaként) nt) stack-en tároljat időnk nként nt sok allokáci ciót t takaríthatunk thatunk meg vele
20 interface-ek ek módszereket, property-ket, indexer-eket eket és s event-eket eket tartalmazhat. Pl. interface IPeldaI string this[int index] get; set; event EventHandler E; void F(int v); string P get; set; public delegate void EventHandler(object sender, EventArgs e); Az interface-ben a mezők k nincsenek megvalósítva
21 interface-k k 2. Interface-ekkel ekkel oldható meg a többszt bbszörös s leszármaztat rmaztatás. Egy osztály csak 1 osztályb lyból, l, de bármennyi b interface-ből származtathat rmaztatható le: class A virtual public void F(inti) ) interface IPelda1 void P1(int i); interface IPelda2 void P2(string s); class B : A, IPelda1, IPelda2 public override void F() // A-bólA public void P1(int i) // implicit interface elem IPelda1-ból void IPelda2.P2(string s; ) // explicit interface elem IPelda1-ból Hívásaik: class Test static void Main() B b = new B(); b.f(); b. P1(3); b.p2("alma") // error: no such method. az explicit elemet nem lehet meghívni így! IPelda2 ipelda2 = b; // a leszármaztat rmaztatás s miatt b egyúttal IPelda2 is ipelda2.p2("alma"); // ez már m r jój
22 C# - C++ összehasonlítás Mindkettőben a kis és s nagybetű különböző.. de C#- ban Nincsenek globális lis változv ltozók, vagy függvf ggvények, minden vmilyen osztályon belül l van Egy blokk lokális lis változv ltozói i nem fedhetik el a blokkon kívülieket A bool típus nem konvertálhat lható más s típusst pussá Mutatók által mutatott memóri riát t csak unsafe jelölésű szakaszokban lehet használni, ott is csak ha megfelelő engedély van rá. r. (Mutatót t használni máshol m is lehet, de az általa mutatott memóri riát/változót t nem)
23 C# - összehasonlítása a a C++ -al A 0 indexű parancssori paraméter a C++ ban az 1 indexű lenne (a program neve nincs a paraméterek között) k A memóri riában automatikus szemétösszegy sszegyűjtés s van. A csak absztrakt függvényeket tartalmazó absztrakt osztály neve nem class, hanem interface Nincs többszt bbszörös s leszármaztat rmaztatás class-szal szal,, de van interface-szel struct: mint a class, de c#-ban nem lehet sem őt t magát, sem belőle le leszármaztatni. (de a struct-ok is a System.Object leszármazottai rmazottai) ) Nem lehet paraméter nélkn lküli li constructor-a. Ha nem adunk meg constructort a változók k default értéket (pl. 0, null) kapnak. Típusok közötti k konverzió általában csak explicit lehet. (kivétel pl. leszármaztat rmaztatás, integer) Felsorolásos sos típusoknak t saját t namespace-e e van properties A típusokhozt meta-infom infomációk tartoznak
24 C# Részleges osztály definíci ciók több fájlra f eloszthatóak ak (így pl. csak azt látjuk, l ami abban a fájlban f érdekes) PL. legyen az Univerzum osztály két k t fájlban f (uni1.cs( és uni2.cs) ) definiálva.
25 partial class példap Az univ1.cs fájlbanf public partial class Univerzum public Univerzum() _azon_ = 0; Az univ2.cs fájlbanf public partial class Univerzum private int _azon;
26 C# Generics futás s közben k az aktuális típus t felhasználásával jönnek j létre l (C++ template-ek ek fordítási időben)
C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
RészletesebbenC# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84
RészletesebbenA C# PROGRAMOZÁSI NYELV
A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenVB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System
P r o g r a m o z á s i n y e l v e k I I. C # E jegyzet másolata nem használható fel szabadon,az előadás anyagának kivonata. Ezen teljes jegyzetről,vagy annak bármely részéről bármely másolat készítéséhez
RészletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64
RészletesebbenC# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag
C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenKészítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
RészletesebbenC# versus Java. Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3. Bedők Dávid v0.4
C# versus Java Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3 Bedők Dávid 2016.10.01. v0.4 Azonosságok I. Curly-bracket nyelvek ({}) C, C++, PHP, JavaScript, stb.) ProgrammingTheorem
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 1. Előadás Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu A tantárgyi
RészletesebbenII. Programozási technológiák
II. Programozási technológiák 1 II.1 A gépi kódú program Az algoritmuslépések kódja + memória címek. II.2 Programkészítő programok MOV AX,1234h ;0B8h 34h 12h - szám (1234h) az AX reg.-be MUL WORD PTR [5678h]
RészletesebbenOBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
RészletesebbenEseményvezérelt alkalmazások fejlesztése II. A.NET keretrendszer és a C# programozási nyelv. Objektumorientált programozási nyelvek A Smalltalk nyelv
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II A.NET keretrendszer és a C# programozási nyelv Objektumorientált programozási nyelvek A Smalltalk nyelv 1980-ban
RészletesebbenProgramozás II. labor
Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés
Részletesebben3. Gyakorlat Ismerkedés a Java nyelvvel
3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char
RészletesebbenProgramozás 2., I. kötet Az objektumorientált paradigma alapjai
TÁMOP-4.1.1.F-14/1/KONV-2015-0009 A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN Achs Ágnes Szendrői Etelka Programozás 2., I. kötet Az objektumorientált
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract
RészletesebbenC# gyorstalpaló. Készítette: Major Péter
C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenProgramozás s 2. Alapok
Programozás s 2 Objektum Orientált Programozás Alapok utolsó változtatás s 2008.04.12. Alapok A programokat valamilyen "programozási nyelv"-en en írjuk A programozási nyelv formális (szintaktikai) és s
RészletesebbenProgramozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenProgramozás s 2. C++ nyelven
Programozás s 2 Objektum Orientált Programozás C++ nyelven utolsó változtatás s 2008.04.12. C++ Történetileg a C nyelv továbbfejleszt bbfejlesztésese Ennek előnyei: C programozó azonnal programozhat C-ként
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.
RészletesebbenSzoftvertervezés és -fejlesztés I.
Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.
RészletesebbenMagas szintű programozási nyelvek 2 Előadás jegyzet
Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás
RészletesebbenFordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs
Fordított és szkript nyelvek összehasonlító elemzése Sergyán Szabolcs IEEE: The 2016 Top Programming Languages IEEE: The 2016 Top Programming Language (Enterprise) Kutatás-fejlesztésben használt nyelvek
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenProgramozás I. Első ZH segédlet
Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenC-Sharp nyelv alapjai 1.
1.oldal C-Sharp nyelv alapjai 1. Egyszerű példák Az első alkalmazás a Hello World parancssorból: (cmd) notepad hw.cs A Visual Studio Command Promp-ot nyitjuk meg, mert ekkor benn van a parancssorban a
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
RészletesebbenBME MOGI Gépészeti informatika 8.
BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező
RészletesebbenJava adattípusok Java programozás alapjai Egyszerű adattípusok (int, float) Osztályokkal objektumok Nincs külön mutató, referencia, címe operátor, helyette: objektumok csak dinamikusan hozhatok létre és
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM
RészletesebbenHelyes-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?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenJava VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 24 Az 6. gyakorlat tematikája túlterhelés - összefoglalás statikus adattagok és metódusok
Részletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM
RészletesebbenBME MOGI Gépészeti informatika 4.
BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám
RészletesebbenWeb-technológia PHP-vel
Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request
RészletesebbenJava bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o
Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform
RészletesebbenVizuális és eseményvezérelt programozás , II. félév BMF NIK
Vizuális és eseményvezérelt programozás 2006 2007, II. félév BMF NIK Eseménykezelés A képviselő( delegate ) Képviselők C# nyelvi megvalósítása Metódushívás képviselőn keresztül Az esemény ( event ) Esemény
RészletesebbenSzoftvertervezés és -fejlesztés I.
Szoftvertervezés és -fejlesztés I. Microsoft Visual Studio 2013 Hello C# World! Változók típusai Gyakorló feladatok Algoritmus alkotási feladatok ÓE-NIK-AII, 2017 1 Hallgatói Tájékoztató A jelen bemutatóban
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelık Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenObjektumorientált programozás C# nyelven III.
Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadá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
RészletesebbenAdatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk
Részletesebben117. AA Megoldó Alfréd AA 117.
Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenSzoftvertechnolo gia gyakorlat
Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát
RészletesebbenProgramozás 1. Dr. Iványi Péter
Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenJava VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 1 Az 6. gyakorlat tematikája Túlterhelés - összefoglalás statikus adattagok és metódusok
RészletesebbenA.NET Framework és programozása C# nyelven. Kedd 16-17 30 I104
A.NET Framework és programozása C# nyelven Kedd 16-17 30 I104 Feltételek I104 Visual Studio 2013 Letölthető http://msdn.mik.uni-pannon.hu oldalról Aki saját gépet hoz, annak javasolt a legújabb verzió
RészletesebbenList<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
RészletesebbenJAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
RészletesebbenAz osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
RészletesebbenInformációs Technológia
Információs Technológia A C programozási nyelv (Típusok és operátorok) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 szeptember
RészletesebbenProgramozás módszertan
Programozás módszertan p. Programozás módszertan Operátorok túlterhelése a C++ nyelvben Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA TANSZÉK Bevezetés Programozás
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenProgramozás C++ -ban 2007/4
Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenProgramozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenOOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
RészletesebbenObjektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenProgramozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia
Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek
RészletesebbenBevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
Részletesebben