Uncategorized

Dekorálás osztállyal

Függvények dekorálásával korábban már foglalkoztunk a „Mi a függvénydekorátor és mikor használjuk?” című bejegyzésben. A dekorálást leginkább closure függvénnyel megvalósított dekorátorral szokták megvalósítani. Ez a megoldás akkor lesz egy kicsit kényelmetlen, ha paraméteres dekorátorra van szükség. Ilyenkor ugyanis több szinten beágyazott függvényeket kell definiálni, ami kevésbé könnyen átlátható kódot eredményez. Ezen tudunk valamelyest javítani, ha …

Dekorálás osztállyal Read More »

Sokszög forgatása és tükrözése vizuálisan grafikus alkalmazással – 2. rész

Az előző bejegyzésben egy olyan, egyszerű grafikus alkalmazást kezdtünk el felépíteni, amely egy csúcspontjaival definiálható sokszöget egy megadható forgáspont körül, szintén megadható szöggel elforgat, vagy egy kezdő- és végponttal meghatározható vonalra vonatkozóan tengelyesen tükröz. Az előző bejegyzésben az alkalmazás alapfelépítést kezdtük meg számos szükséges metódus definiálásával. Azzal hagytuk abba, hogy a geometriai elemek (pont, sokszög és …

Sokszög forgatása és tükrözése vizuálisan grafikus alkalmazással – 2. rész Read More »

Sokszög forgatása és tükrözése vizuálisan grafikus alkalmazással – 1. rész

Az előző két bejegyzésben (itt és itt) egy pont adott forgáspont körül, megadott szöggel való forgatását és tengelyes tükrözését megvalósító függvények előállításával foglalkoztunk. Ha tudunk egy pontot forgatni vagy tükrözni, akkor lehetőség nyílik egy sokszöget is forgatni, vagy tengelyesen, illetve középpontosan tükrözni, hiszen ilyenkor nem kell mást tenni, mint a sokszög csúcspontjaira elvégezni az említett …

Sokszög forgatása és tükrözése vizuálisan grafikus alkalmazással – 1. rész Read More »

Hogyan valósítsuk meg egy pont tengelyes tükrözését?

Az előző bejegyzésben egy adott pont megadott szöggel történő elforgatásával kapott pont meghatározásával foglalkoztunk, és erre három különböző számítási módszert alkalmazó függvényt definiáltunk. Most egy adott pont tengelyes tükrözéseképpen előálló pont meghatározása lesz a cél. Ahogy a forgatásnál tettük most is két megközelítést alkalmazunk a tükörpont származtatására. Az egyik a koordinátageometriai. Ekkor eltolás, forgatás és …

Hogyan valósítsuk meg egy pont tengelyes tükrözését? Read More »

Hogyan forgassunk el egy adott pontot adott szöggel, adott forgáspont körül?

Grafikus alkalmazásoknál alapvető funkció egy pont adott szöggel való elforgatása, az origó vagy egy megadott forgáspont körül. A forgatás megvalósítását egy olyan függvénnyel oldhatjuk meg, amelynek argumentumai a forgatandó pont, a forgáspont és az elforgatás szöge, visszatérési értéke pedig az elforgatott pont. A kérdés, hogy a függvény törzsében milyen képletet megvalósító kód kerül. Ennek megválaszolásához …

Hogyan forgassunk el egy adott pontot adott szöggel, adott forgáspont körül? Read More »

Hogyan tudhatjuk meg, hogy mely beépített típusokból nem lehet örökölni?

Az előző két bejegyzésben egy egyéni igényekre szabott Range osztályt készítettünk mint kompozíciót a beépített range típust felhasználva. Azért nem a range alosztályaként hoztuk létre a Range osztályt, mert a beépített range típusból nem lehet örökölni. Egyben jeleztük azt is, hogy nem csak a range az egyetlen ilyen beépített típus. A kérdés, hogy milyen más …

Hogyan tudhatjuk meg, hogy mely beépített típusokból nem lehet örökölni? Read More »

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 2. rész

Az előző bejegyzésben egy feladat kapcsán olyan specializált Range osztály definiálását kezdtük el, amely példányai a beépített range típushoz hasonlóak, de a cél, hogy a következő képességekkel is rendelkezzenek: 1) két azonos elemszámú Range, vagy azonos elemszámú Range és range objektum összeadható a + operátorral, vagy egymásból kivonható a – operátorral. Az eredményül kapott új …

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 2. rész Read More »

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 1. rész

Tegyük fel, hogy egy nagyvállalat piaca fokozatosan nő, és ezért több részlegében egy adott időn keresztül évente egyenletesen növelik a létszámot, vagyis minden évben azonos fővel növekszik a dolgozói állomány. A részlegekben mind az induló létszám, mind pedig az éves növekedés eltérő. A kérdés, hogy a növekedési időszak alatt a részlegben együttesen évente hogyan alakul …

Egyéni Range típus definiálása összeadás, kivonás és szorzás műveleti képességekkel – 1. rész Read More »

MVC programfelépítés GUI alkalmazásban megfigyelő minta használata nélkül

Az előző két bejegyzésben az MVC architektúrára épülő programfelépítést szemléltettük. Elsőként egy nem grafikus felhasználói felületű alkalmazásban, majd pedig grafikus felhasználói felületet (GUI) kínáló alkalmazásban. Mindkét esetben a megfigyelő programtervezési mintát (observer design pattern) alkalmaztuk a megjelenítést végző objektumok értesítésére, hogy a modell állapota megváltozott, és ennek megfelelően módosuljon a megjelenítés. Most ugyanezt a mintapéldát …

MVC programfelépítés GUI alkalmazásban megfigyelő minta használata nélkül Read More »

MVC programfelépítés megfigyelő minta használatával GUI alkalmazásban

Az előző bejegyzésben az MVC szerkezetre épülő, nem grafikus felhasználói felületű alkalmazásra adtunk egy szemléltető példát, ahol a megfigyelő programtervezési mintát (observer design pattern) alkalmaztuk a megjelenítést végző objektumok értesítésére, hogy a modell állapota megváltozott, és ennek megfelelően módosuljon a megjelenítés. Mindazonáltal az MVC architektúra leginkább a grafikus felhasználói felületet (GUI) kínáló alkalmazásokban használatos, ezért …

MVC programfelépítés megfigyelő minta használatával GUI alkalmazásban Read More »