Java Programozás – Osztályok, Objektumok

Ebben a témában: Java Programozas

A Java Programozás bevezető után, nézzük most meg, hogy hogyan néz ki az objektum orientált programozás a gyakorlatban.

 

 

Mint ahogy az előző írásban már bemutattam a Java világban minden elem egy objektum, egy osztály (Class) aminek lehetnek tulajdonságai és műveletei. Két szint létezik, van az osztályoknak a leírása, tulajdonságainak megnevezése (definíció) és van az osztályoknak a példányosítása amikor már pontosan  megmondod, hogy melyik elemnek mik a konkrét tulajdonságai.

Nézzünk egy egyszerű példát: Definiáljuk az Ember osztályt és definiáljuk a Név tulajdonságot. Majd példányosítok két elemet az Ember osztályból, az egyiknek a neve legyen Ádám, míg a másiké legyen István.

Tehát az Osztály egy általános leírás, míg az Elem az adott Osztály egy konkrét példánya.

 

Calculator Program

Nézzük végig egy konkrét példán keresztül, hogy hogyan néz ki a fenti elmélet Java nyelven. A feladat, hogy készítsünk egy Calculatort ami tud összeadni és osztani, majd számoltassuk ki vele, hogy mennyi 7+10, illetve 7/10 és a tároljuk is el ezeket az eredményeket.

Az első lépés mindig a feladat, a probléma megértése. Ahhoz, hogy a feladatot meg tudjuk oldani, szükségem van egy Calculator osztályra, ami két műveletet fog tudni elvégezni majd ezeknek az eredményeit tárolni. Most még nem mondom meg, hogy konkrétan, hogy kell összeadni illetve osztani, az már egy következő lépés.

 

A megoldás a következő képpen néz ki:

Hozzunk létre egy új Projektet, a neve legyen Calculator (hogyan?), majd hozzunk létre benne egy külön Package-t a Calculator implementációnak, ezt nevezzük calculator-nak.

Most hozzuk létre a Calculator osztályt, majd definiáljuk benne a két metódust valamint a két tároló attribútumot.

 

Read More

Java Programozás

2 CommentsEbben a témában: Fejleszto eszkozok, Java Programozas

A Java Programozás már régóta az egyik legfelkapotabb téma. Az eddigi bevezetők után (Mit csinál egy Programozó?, Szoftverfejlesztés az Alapoktól, Szoftverfejlesztés Lépései), nézzük meg most részletesen, hogy milyen lépések kellenek ahhoz, hogy elkészítsük az első programjainkat.

 

 

Java programozás - A nyelv

A Java napjaink egyik legismertebb és legelterjedtebb programozási nyelve. Sikerét leginkább a könnyű használhatóságának és sokféleségének köszönheti. A Java alap platformja a Java Standard Edition (Java SE), mely tartalmazza a nyelvet valamint a fordító és a futtató környezetet. Az alap platformnak két fajta kiegészítése létezik specifikusabb környezetekre, szerver oldali programok megvalósítására a Java Enterprise Edition (Java EE), valamint kisebb erőforrású platformokra a Java Micro Edition (Java ME).

A Java egy objektum orientált programozási nyelv. Úgy tekint a világra mint különböző objektumok halmaza és azok egymással történő interakciója. Minden, amit ma a világból ismerünk leírható úgy, mint egy objektum. Minden objektumnak lehet tulajdonsága és lehet valamilyen művelete, amit képes elvégezni. Például egy objektum lehet egy lámpa, ami fehér színű, lehet fel és lekapcsolni és fogyaszt egy bizonyos mennyiségű áramot óránként. De objektumként leírható például egy ember is, akinek van neve, telefonszáma, tud aludni, sétálni, stb…

Vágjunk tehát bele és implementáljuk le az első programunkat!

 

Eclipse Letöltése és Telepítése

Az első és legfontosabb feladat a fejlesztő környezet beállítása. A fejlesztő környezet nem csak beépítve támogatja a Java programozást, de lehetőséget biztosít az azonnali kipróbálásra is. Nekem a személyes preferenciám az Eclipse, de mindenki próbáljon ki több fajtát és válassza ki a sajátját.

Tehát töltsük le az oldalról az Eclipse Installer-t.

Eclipse Error Java Programozas

Ha valaki az alábbi hibaüzenettel találkozik, akkor én a legújabb verziójú JDK letöltését javaslom, az tartalmaz mindent, ami a Java alapú fejlesztéshez kell.

Majd válasszuk az Eclipse IDE for Java Developers, mert mi most csak Java-ban akarunk programozni egyelőre.

 

 

Projekt létrehozása

Elindítás után megkérdezi az Eclipse, hogy hová mentse az adatainkat, ki kell jelölni a Workspace-t. Ha beérünk a főmenübe, akkor válasszuk a File -> New -> Java Project. Ezután az alábbi kép fogad majd bennünket:

Eclipse Uj Project Java Programozas

Read More

Szoftverfejlesztés lépései

Ebben a témában: Alapok, Fejleszto eszkozok

Nézzük meg kicsit részletesebben, hogyan is néz ki ma, egy nagyvállalati szoftver fejlesztése a gyakorlatban. Milyen életciklusa van a terméknek és kiknek a kezén megy át, mielőtt a vásárló a kezébe veheti.

 

1.      Vevői Specifikáció

          A fejlesztést megelőzi magának a terméknek a megrendelése. Ekkor a vevő elküldi a részletes specifikációját a terméknek. Régebben ezek a specifikációt mindenféle változatos formátumban jutottak el a gyártókhoz, azonban ma már gyakorlatilag minden fontos piaci szereplő a Doors nevű IBM-es követelménykezelő rendszert használja erre a célra. A program maga nem túl bonyolult, gyakorlatilag táblázatos formában érkeznek a követelmények, illetve különböző követelmények tudnak mutatni egymásra. Ezen felül még képes tárolni az egyes követelmények verzióit is. A vevőtől kapott követelményeket általában Customer Requirement Specification-nek (CRS) nevezzük.

 

2.      Szoftveres Specifikáció

       A következő lépés a vevői követelmények kiegészítése. A megrendelő által küldött követelményeket általában még több iteráción keresztül kell egyeztetni illetve kiegészíteni. Ezeket az egyeztetéseket és kiegészítéseket általában nem maga a programozó végzi (bár aktívan részt vesz a folyamatban), hanem az erre a feladatra kijelölt emberek, a vevői kapcsolattartók. Ha ez a lépés megvan, akkor már az is megvan, hogy pontosan mit is kell lefejleszteni. Ezt a csomagot nevezzük általában Software Requirement Specification-nek (SRS).

 

3.      Rendszertervezés

        A következő lépés, annak a szoftver rendszernek a megtervezése, ami majd képes lesz megvalósítani az SRS minden követelményét.

Read More

Szoftverfejlesztés az alapoktól

Ebben a témában: Alapok, Fejleszto eszkozok, Program nyelv

Tudod, hogyan működik egy telefonos applikáció? Miért nyílik magától a fotocellás ajtó, vagy miért indul el a lift, ha megnyomsz benne egy gombot? Hogyan tudja vezetni a robotpilóta a Tesla autóit vagy éppen egy repülőt?

 

 

Sok érdekes, látszólag különböző kérdés, azonban a válasz mindegyikre ugyanaz. Ezekben az elektronikai eszközökben programok futnak melyek bizonyos bemenetek hatására bizonyos dolgokat hajtanak végre.

 Szoftverfejlesztes az Alapoktol

 

A programot magát, a CPU, a Processzor fogja végrehajtani. Mire a CPU elkezdi végrehajtani a programot, addigra az már csak 0-k és 1-esek véges hosszú sorozata lesz, ugyanis a CPU csak ezt a két értéket tudja értelmezni. Tehát mondhatnám, hogy egy Programozónak csupán egy két gombos billentyűzetre van szüksége.

Na de persze a valóságban ez nem így működik, ugyanis erre a feladatra találták ki a különböző programozási nyelveket. A programozási nyelv nem más, mint különböző utasítások halmaza. Képzeld el a programozási nyelvet úgy, mint az emberi nyelvet, ahol a használható szavak az utasítások. Az ezen utasítások véges hosszú sorozata pedig a program maga, mint egy szöveg a szavak segítségével. Minden utasításhoz tartozik egy egyedi azonosító, ami nem más, mint egy bináris szám. A számok sorozatát a programból pedig, egy úgynevezett fordító vagy Compiler tudja előállítani. Ez a számsorozat lesz a 0-k és 1-esek véges hosszú sorozata.

 

                                                                                   Programozo Billentyuzete

 

 

A trükk pedig ott van, hogy rengeteg féle programozási nyelv létezik. Ugyanis másfajta utasításokat érdemes használni a fotocellás ajtóhoz és megint másfajtákat egy telefonos applikációhoz. A teljesség igénye nélkül:

  • Web programozáshoz: HTML, PHP, Javascript, Python
  • Telefonos alkalmazásokhoz: Objective-C, Java
  • Beágyazott rendszerekhez (autók, repülők, robotok, …): Assembly, C, C++
  • Számítógépes alkalmazások: C#, Java
  • Adatbázisok: SQL

Read More

Mit csinál egy Programozó?

Ebben a témában: Alapok

Egy programozó napi munkája igen sokrétű. A legnagyobb része a különböző problémák megértése, analízise illetve egy megoldás kidolgozása, a kisebbik része pedig a tényleges programozási feladatok elvégzése.

 

A legtöbb esetben már nem is igazán a programozáson van a hangsúly hanem, hogy kitaláljunk egy jó, működőképes koncepciót az adott problémára. Azonban, ahhoz hogy kialakuljon egy ilyen problémamegoldó képesség, mindenképpen alapfeltétel egy releváns programozási nyelv alapos ismerete. Egy programozási nyelv pedig nem más mint olyan utasítások halmaza amit a számítógép értelmezni tud. Hasonlóan az emberi beszédhez, a programozási nyelv is szavakból tevődik össze és ezután ezeket kell egy értelmes sorrendbe tennünk. Azért fontos egy programozási nyelv alapos ismerete, hiszen ha nem vagyunk tisztában a saját eszközeinkkel, akkor semmilyen problémát sem fogunk tudni hatékonyan megoldani. Egy jó orvos sem tud jó diagnózist, vizsgálatokat felírni anélkül, hogy ismerné a lehetséges eszközöket, műszereket.

 

Tehát mit is csinál egy programozó pontosan? Leginkább olvas, kutat, értelmez, ötleteket gyárt majd azokat megpróbálja átültetni a gyakorlatba a programozás által, így letesztelve, hogy az elméletben kitalált megoldás valóban működőképes-e. Ezek jelentik számomra az izgalmas napokat, ami után még sokszor otthon is azon gondolkozok, hogy másnap hogyan tovább. (Azonban az igazsághoz hozzátartozik, hogy vannak unalmasabb napok is, amikor bizony kicsit kevésbé kreatív, úgynevezett favágó munkákat kell elvégeznünk. Ezen szerintem kár háborogni, az ilyen feladatokon egyszerűen túl kell esni, szerencsére azért általában ez ritkábban fordul elő.)

Ezzel el is értünk az én kedvenc gondolatomhoz, miszerint A Programozás, A Programozói szakma az egyik legkreatívabb szakma amit csak ismerek. A semmiből kell egy valódi problémára egy számítógép által is értelmezhető algoritmust kitalálni és megvalósítani. A valódi probléma pedig bármi, de tényleg bármi lehet. Lehet ez egy 1000 éves matematikai probléma, egy világhírű közösségi háló, egy új szuper applikáció ami mindenki számára nélkülözhetetlen lesz nemsokára, egy hihetetlenül élethű játék, egy önvezető autó vagy egy teljesen új banki rendszer megtervezése.

 

Azt hiszem én ezért a kreativitás miatt szerettem meg ezt a szakmát és én mindenkit bíztatok, hogy bátran vágjon bele, mert ugyan egy programozási nyelv elsajátítása beletelhet néhány hónapba, de szerintem megéri. Ha pedig te is ezt a cikket olvasod, akkor már az első lépéseket sikeresen meg is tetted, egy új szakma megismerése felé. A programozási nyelv pedig nem más csupán, mint egy eszköz, hogy a számítógép is megértse, hogy pontosan milyen utasításokat is kell végrehajtania. Azonban a programozási nyelv nagyon fontos, ezért alaposan ismerni kell, különben ott állsz majd a műtőben szike nélkül, ami kellemetlen lehet.

Read More