static void Main() { Kutya k1 = new Kutya("Bodri", 2010, "fox-terrier"); k1.Ugat(); k1.Bemutatkozik(); }
static void Main(string[] args) { Kutya kutya = new Kutya(); //A függvényeket a kutya "felől" hívom kutya.Koszon(); kutya.Enekel(); kutya.Beszel(); //Ebben az esetben a háziállat felől hívom a függvényeket. Lehet a Haziallat típusba new Kutya-t tenni hiszen abból származik Haziallat kutya2 = new Kutya(); kutya2.Koszon(); kutya2.Enekel(); kutya2.Beszel(); //direktben ki tudok jelölni egy felületet, most a Haziallat tipusu változónak a Kutya felületét használom ((Kutya)kutya2).Koszon(); ((Kutya)kutya2).Enekel(); ((Kutya)kutya2).Beszel(); var haziallat2 = new Haziallat(); // ((Kutya)haziallat2).Beszel(); invalid cast kivétel //Hogyan érdemes típuskonverziót csináltatni //Az object minden objektum ősosztálya, így bele lehet tenni bármilyen objektumot object o = kutya; //Kivenni hogy lehet? Ez a leggyorsabb if (o is Kutya) { Console.WriteLine("Ez egy kutya"); Kutya k = (Kutya)o; } //as kulcsszóval konvertálok Kutya k2 = o as Kutya; if (k2 != null) {//sikerült a konverzió Console.WriteLine("Ő egy kutya"); Kutya k = (Kutya)o; } //try catch-el mivel elszállhat a konvertálási kísérlet ez a leglassabb módszer try { Kutya k3 = (Kutya)o; } catch (Exception) { Console.WriteLine("Elszállt"); } Console.ReadLine(); }
static void Main() { Kutya k1 = new Kutya("Bodri", 2010, "fox-terrier"); Kutya k2 = new Kutya("Gubanc", 2015, "puli"); Kutya k2 = new Kutya("Rozsda", 2015, "tacskó"); Console.WriteLine("k1 kutya neve: ", k1.Nev); Console.WriteLine("k2 kutya születési éve: ", k2.Szul_ev); }
private static void ObjectbolKutya1(object o) { if (o is Kutya) { //Console.WriteLine("Ő egy kutya (is)"); Kutya k = (Kutya)o; //k.Beszel(); //így már jó } else { //Console.WriteLine("Ez sajnos nem kutya (is)"); } //Console.WriteLine(); }
private static void ObjectbolKutya2(object o) { Kutya k2 = o as Kutya; // Ha as-t használunk akkor csak akkor végzi el a konverziót ha az lehetséges egyébként null értéket ad vissza if (k2 != null) { // sikeres konverzió //Console.WriteLine("Ő egy kutya (as)"); // k2.Beszel(); //már ez is jó lenne de most töltsük át Kutya k = (Kutya)o; // mivel a k változót előzőleg is egy blokkon belül hoztuk létre ezért itt újra felhasználható //k.Beszel(); } else { //Console.WriteLine("Ez sajnos nem kutya (as)"); } //Console.WriteLine(); }
private static void ObjectbolKutya3(object o) { //esetleg megpróbálhatjuk átkonvertálni vagy sikerül vagy nem alapon // mivel ez elszálhat ezért célszerű egy try catch hibakezelő blokkot használni try { Kutya k3 = (Kutya)o; //Console.WriteLine("Ő egy kutya (try)"); // A méréshez kivesszük a kiíró utasításokat mindhárom fv-ből //k3.Beszel; //már ez is jó lenne de most töltsük át //Kutya k = (Kutya)o; //k.Beszel(); } catch (Exception) { //Console.WriteLine("Ez sajnos nem kutya (try)"); } }
static void Main(string[] args) { Kutya bodri = new Kutya("Bodri"); bodri.ugat(3); Console.WriteLine(); bodri.bemut(); Puli p = new Puli("Puli"); p.ugat(12); Kutya bogancs = new Kutya("bogancs", "komondor"); bogancs.bemut(); Console.ReadKey(); }
static public void Feladatok() { FileBeolvas kutyaNevek = new FileBeolvas("kutyaNevek.csv"); List <KutyaNev> kutyaNevLista = KutyaNev.KutyaNevListaLetrehozasa(kutyaNevek.ListaLetrehozas(';')); FileBeolvas kutyaFajtak = new FileBeolvas("kutyaFajtak.csv"); List <KutyaFajta> kutyaFajtaLista = KutyaFajta.KutyaFajtaListaLetrehozasa(kutyaFajtak.ListaLetrehozas(';')); FileBeolvas kutyak = new FileBeolvas("kutyak.csv"); List <Kutya> kutyaLista = Kutya.KutyaListaLetrehozasa(kutyak.ListaLetrehozas(';')); HarmadikFeladat.Megoldas(kutyaNevLista); HatodikFeladat.Megoldas(kutyaLista); HetedikFeladat.Megoldas(kutyaLista, kutyaNevLista, kutyaFajtaLista); NyolcadikFeladat.Megoldas(kutyaLista, kutyaFajtaLista); KilencedikFeladat.Megoldas(kutyaLista); TizedikFeladat.Megoldas(kutyaLista, kutyaNevLista); Console.ReadKey(true); }
static void Main(string[] args) { Ember imi = new Ember(); //új példány létrehozása az osztályból Console.WriteLine(imi.Beszelj()); //Példányon Beszélj() metódus meghívása Kutya bodri = new Kutya(); Console.WriteLine(bodri.Beszelj()); IBeszlokepes[] beszelokepesObjektumok = new IBeszlokepes[2]; //közös tulajdonság - ilyen típusú tömb definiálása beszelokepesObjektumok[0] = imi; //tömb elemeinek felvétele beszelokepesObjektumok[1] = bodri; for (int i = 0; i < beszelokepesObjektumok.Length; i++) { Console.WriteLine(beszelokepesObjektumok[i].Beszelj()); //tömb elemein metódus meghívása } Console.ReadKey(); //ablak ottmaradjon }
static Kutya[] kutyak = new Kutya[5]; //Kutya típusú változók static void Main() { kutyak[0] = new Kutya("Bodri", 3); // kutyak[1] = new Kutya("Füles", 5); // kutyak[2] = new Kutya("Borzas", 1); // kutyak[3] = new Kutya("Tücsök", 2); // kutyak[4] = new Kutya("Bogáncs", 7); // for (int i = 0; i < 5; i++) { kutyak[i].Bemutatkozik(); kutyak[i].Ugat(i + 1); } //ugyanez foreach ciklussal: int j = 0; foreach (Kutya kutyapeldany in kutyak) { kutyapeldany.Bemutatkozik(); kutyapeldany.Ugat(j + 1); j++; } }
static void Main(string[] args) { // A függvények a kutya oldaláról vannak meghívva Kutya kutya = new Kutya(); kutya.Koszon(); kutya.Enekel(); kutya.Beszel(); // eredmény: /* A háziállat köszön. * A kutya enekel. * A kutya beszél.*/ Console.WriteLine(); //A függvényeket a háziállat felől is meghívhatjuk Haziallat haziallat = new Kutya(); haziallat.Koszon(); haziallat.Enekel(); haziallat.Beszel(); //eredmény //A háziállat köszön. //A háziállat énekel. //A kutya beszél. Console.WriteLine(); //Direktben ki tudok jelölni felületet //A Haziallat tipusú változónak veszem a Kutya felületét // így ismét a kutya felől közelítek ((Kutya)haziallat).Koszon(); ((Kutya)haziallat).Enekel(); ((Kutya)haziallat).Beszel(); Console.WriteLine(); //eredmény ugyanaz mint először //A háziállat köszön. //A kutya enekel. //A kutya beszél. // ez a castolás ezt nem ellenőrzi a fordító ha olyan castolást csinálunk ami nem lehetséges az futásidejű hibát generál // var haziallat2 = new Haziallat(); // ((Kutya)haziallat2).Beszel(); //mivel a haziallat2 egy Haziallat tipusú objektum ezért neki nincs Kutya felülete // Hogy érdemes típuskonverziót végezni? // Az object osztály minden osztály ősosztálya minden objektum beletehető egy ijen típusú változóba object o = new Kutya(); //o.Beszel(); nincs ilyen metódusa //de hogy lehet innen kivenni? //ellenpróba ha az o-ba háziállatot teszek mivel objektum típusú ezért bármilyen osztály objektumával felülírható //o = new Haziallat(); ObjectbolKutya1(o); ObjectbolKutya2(o); ObjectbolKutya3(o); // nézzük meg a teljesítményeket // létrehozunk egy objektumtömböt feltöltjük kutyákkal és házállatokkal és megnézzük melyik függvény a gyorsabb var olist = new object[1000]; for (int i = 0; i < 1000; i++) { if (i % 2 == 0) { olist[i] = new Haziallat(); } else { olist[i] = new Kutya(); } } var sw = new System.Diagnostics.Stopwatch(); sw.Start(); for (int i = 0; i < 1000; i++) { ObjectbolKutya1(olist[i]); } Console.WriteLine("1-es módszer: {0}", sw.ElapsedTicks); sw.Restart(); for (int i = 0; i < 1000; i++) { ObjectbolKutya2(olist[i]); } Console.WriteLine("2-es módszer: {0}", sw.ElapsedTicks); sw.Restart(); for (int i = 0; i < 1000; i++) { ObjectbolKutya3(olist[i]); } Console.WriteLine("3-as módszer: {0}", sw.ElapsedTicks); Console.ReadKey(); }
static void Main(string[] args) { DateTime jelenlegiIdo = DateTime.Now; Console.WriteLine(jelenlegiIdo); Nullable <DateTime> regiIdo = null; string proba = null; Console.WriteLine(proba?.ToUpper()); Console.WriteLine(proba); Console.WriteLine(regiIdo); Console.WriteLine(regiIdo.HasValue); //Console.WriteLine(regiIdo.Value); Console.WriteLine(regiIdo.ToString()); ArrayList kutyak = new ArrayList(); Kutya kutya1 = new Kutya(); Kutya kutya2 = new Kutya(); Kutya kutya3 = null; kutya1.Name = "Bodri"; kutya1.Age = 12; Console.WriteLine(kutya2.szulDatumMegado()); kutya2.Name = "Kutyus"; kutya2.Age = 10; kutyak.Add(kutya1); kutyak.Add(kutya2); Console.WriteLine(((Kutya)kutyak[0]).Name); StringBuilder sb = new StringBuilder("Hello"); sb.Append(" "); sb.Append("world!"); string koszontes = sb.ToString(); Console.WriteLine(koszontes); string ujKoszones = "Hello World!"; Console.WriteLine(ujKoszones); //bool egyeznek = koszontes.Equals(ujKoszones); bool egyeznek = String.Compare(koszontes, ujKoszones, true) == 0; string uzenet = egyeznek ? "A két string azonos" : "A két string nem azonos."; Console.WriteLine(uzenet); string tajszam = "012345678"; string regex = @"^\d{9}$"; bool helyes = Regex.IsMatch(tajszam, regex); Console.WriteLine(helyes); char karakter = 'e'; byte konvertaltKarakter = (byte)karakter; string stringgeKonvertalt = karakter.ToString(); string masikStringgeKonvertalt = konvertaltKarakter.ToString(); Console.WriteLine(karakter); Console.WriteLine(konvertaltKarakter); Console.WriteLine(stringgeKonvertalt); Console.WriteLine(masikStringgeKonvertalt); /* string[] stringek = { "alma", "karalábé", "hús" }; * int aBetukSzama = 0; * char keresettKarakter = 'a'; * StringBuilder sbx = new StringBuilder(); * for(var i = 0; i<stringek.Length; i++) { * sbx.Append(stringek[i]); * sbx.Append(" "); * } * string strOsszefuzes = sbx.ToString(); * * for(int i = 0; i<strOsszefuzes.Length; i++) { * if(strOsszefuzes[i]==keresettKarakter) { * aBetukSzama++; * } * } * * string betukUzenet = aBetukSzama>0?"A megadott szövegben "+aBetukSzama+" darab "+keresettKarakter+" betű volt.": "A megadott szövegben nem volt egyetlen egy "+keresettKarakter+" sem"; * Console.WriteLine(betukUzenet);*/ long longValue = Int64.MaxValue; int intValue = (int)longValue; Console.WriteLine("(int) {0} = {1}", longValue, intValue); int number = int.MaxValue; Console.WriteLine(checked (++number)); Console.ReadKey(); }