Tanuljon programozást Java-val

valószínűleg már hallotta az objektum kifejezést programozási környezetben. De mit jelent ez valójában? Kezdjük azzal, hogy megnézünk néhány valós tárgyat, például tollakat, könyveket, okostelefonokat, számítógépeket stb.

mindenféle objektum!
mindenféle tárgy!

minden objektum különböző formában és alakban jelenik meg, de ugyanazon objektum különböző verzióit kategóriákba vagy csoportokba sorolhatja. Ez az oka annak, hogy elmehet egy bútorüzletbe, és felismerheti a különböző tárgyakat “székként”, még akkor is, ha nagyon különböznek egymástól.

ezeket a különböző objektumokat ugyanannak a csoportnak vagy típusnak a részeként ismeri fel. Észreveszed a közös vonásokat a különböző objektumok között, összegyűjtöd az információkat, és létrehozol egy mentális ábrázolást egy adott objektumkategóriához.

például különféle könyvek vannak odakint, de mindegyiknek általában van címe, szerzője, borítója, oldala stb. Más szavakkal, az egyes könyvek mindegyike hasonló tulajdonságokkal rendelkezik, amelyek lehetővé teszik, hogy elméjében a “könyv” kategóriába sorolja őket.”

különböző méretű, színű és hosszúságú Könyvek
különböző méretű, színű és hosszúságú Könyvek

Ez az attribútumok mentális listája, amelyet az imént leírtunk egy könyv számára, egyfajta tervrajzként szolgál erre tárgy. A programozásban osztálynak hívják. Osztály létrehozásakor bármilyen egyedi nevet előállíthat, ezért hívják őket megnevezett típusnak. Amint látni fogod, azt is lehetővé teszik, hogy sok részletet csoportosítson össze, ezért is nevezhetjük őket összetett típusoknak. Másrészt a már ismert egyszerű típusok, mint például a int vagy a double, a programozási nyelv által előre definiált nevekkel rendelkeznek, és nem módosíthatók.

Hogyan találjuk ki az osztályneveket?

a változók elnevezéséhez hasonlóan az osztályneveknek leíró jellegűnek kell lenniük (ne feledje, kerülje a rövidítéseket!). A legfontosabb különbség az, hogy a szokásos camelCase használata helyett az első betűnek is nagybetűnek kell lennie, például MarvelousCreature és nem marvelousCreature.

osztályok tervezése

Ha meg szeretné tudni, hogyan tervezzen egy osztályt, folytassuk a könyv példájával. Lent, azonosítottunk egy olyan információmintát, amely leírhatja az adott könyvet:

  • cím

  • szerző

  • oldalak száma

  • kiadó

ezek bármely könyv tulajdonságai a való életben. Az osztályok összefüggésében ezeket az attribútumokat Java mezőknek nevezzük. A mezők egy osztály egyszerűen egy fantázianév valami te már ismeri: változók!

most már megvan az elmélet, szóval írjuk ezt írásban!

osztály deklarálásához használja aclass kulcsszót, amelyet egyéni név követ. Ezután fejezze be göndör zárójelekkel ({}), amelyek átfogják a teljes tartalmat. Ez magában foglalja a tulajdonságok teljes listáját:

class Book {// functionality of the class}

most adjunk hozzá mezőket a korábban meghatározottak szerint:

class Book { String title; String author; int numberOfPages; String publisher="OC";}

figyeljük meg, hogy az első háromnak nincs értéke, de az utolsónak van? Ha olyan kiadó vagy, aki katalogizálni akarja könyveit, akkor tudja, hogy a kiadói érték mindig ugyanaz lesz, függetlenül attól, hogy milyen könyvet készít. A könyvcímek, a szerzők és az oldalszámok azonban az adott könyvtől függően változnak.

ha visszatér az online könyvesbolt eredeti példájához, az osztály inkább így néz ki:

class Book { String title; String author; int numberOfPages; String publisher;}

mivel sok különböző kiadótól lesz könyved, nem adhatsz meg mindegyikhez alapértelmezett értéket. Tehát itt határozza meg a mezőt, és adjon meg egy értéket később!

hasznosító osztályok

van egy teljesen új típus – Book ons – rendezve! Mit lehet vele csinálni? Végül is az osztályok elvontabbak vagy fogalmi jellegűek. Az osztálymezők olyanok, mint egy sablon egy online könyvesboltban: nem számít, milyen könyvet keres, ugyanazok az információk jelennek meg (Cím, Szerző, oldalak száma stb.).

de amikor keres, nem csak írja be a” könyvet”, igaz? Ez nem hasznos! Szüksége van egy könyv konkrét példányára, mondjuk, Alice Csodaországban. Olyan tárgyat keresel, amit végiglapozhatsz és elolvashatsz. Ugyanez a helyzet a számítógépes programozásban is.

egy osztály használatához létre kell hoznia az adott osztály konkrét objektumát. Más szavakkal, szüksége van egy adott tárgyra, például egy adott könyvre (Alice Csodaországban). Ezt a könyvet egy osztály példányának hívják! Ahogy a neve is mutatja, a folyamatot objektum példányosításának vagy inicializálásának nevezzük. Ehhez létrehoz egy változót az osztályból.

a Java-ban a létrehozott objektum minden mezőjének rendelkeznie kell egy értékkel. Ezeket az értékeket többféleképpen lehet megadni. Láttál egyet a publisher példában: hard-érték beállítása az osztálydefinícióban.

egy másik módszer egy érték megadása az utasításban, amely létrehozza az osztályt. Nézzük meg, hogyan kell ezt csinálni. Itt található a könyv létrehozásának kódja az objektum létrehozásának pillanatában megadott értékekkel:

objektum példányosítása
objektum példányosítása

mint látható, van néhány különböző elem. Először hajtson végre egy változó szabályos deklarációját, amelynek neve myBook, típusa pedig Book. Emlékszel, hogy azt mondtuk, hogy egy osztály egy megnevezett komplex típus? Nos, itt a bizonyíték! A intdouble vagy string helyett a típusunk az az osztály, amellyel előálltunk! most jön a hűvös rész. A változó inicializálása a new Book("Coding is art","Becky James",425);objektum létrehozási kifejezéssel történik. Ez a kifejezés a new kulcsszóból áll, amelyet ismét az osztály neve követ (Book), valamint néhány zárójelben () az értékek belsejében. Mint látható, a zárójel tartalmazza az eredeti mezők mindegyikének megadott értékét: titleauthor, és numberOfPages. Gondoskodtunk róla, hogy mindegyiket vesszővel Válasszuk el. Végül végezzünk egy kettősponttal ;. Ezzel létrehozott egy példányt az osztálykönyvből! GmbH

attribútumok (mezők) használata

Phew! Ez sok szókincs és fogalom volt. Mielőtt továbblépnénk, összefoglaljuk egy gyors diagrammal:

osztályról objektumra!
osztályról objektumra!

ez jobb? Ne feledje:

  • használjon egy osztályt sablonként a jövőbeli objektumokhoz. Egy osztályban adja meg néhány változó nevét és típusát. A Java-ban ezeket általában attribútumoknak, konkrétan mezőknek nevezzük.

  • az elkészített hűvös terv használatához létre kell hoznia egy objektumot a példányosítási folyamat segítségével. Ez azt jelenti, hogy egy változót az osztályával típusként deklarálunk, majd a fent látott objektum-létrehozási kifejezést használjuk.

  • amikor egy objektumot példányosít, értékeket hoz létre az osztályban már definiált mezők mindegyikéhez.

  • egy objektumot egy osztály példányának nevezünk.

most már készen állsz! Megvan a könyvobjektumod, de mondd, hogy meggondoltad magad a változók értékével kapcsolatban. Hogyan érheti el a fényes új objektumhoz társított mezőket?

számos programozási nyelvben a mezők elérésének általános módja az úgynevezett pontjelölés. Ez azt jelenti, hogy meg kell írnia egy példány vagy objektum nevét, amelyet egy érdekes attribútumnév követ, ponttal elválasztva: instanceVariableName.attributeName.

myBook.title = "Coding is Art";myBook.author = "Becky James";myBook.numberOfPages = myBook.numberOfPages + 10;

Most beállíthatja módosítsa a mezők értékét az objektumon belül! Képzelje el, hogy tíz oldalt adott hozzá, mert elfelejtette hozzáadni a könyv indexét. Vagy közvetlenül beírhatja az új számot, vagy hozzáadhat tíz oldalt a meglévő értékhez, mint a harmadik sorban. Ez nagyon hasznos, ha apró változtatásokat hajt végre. xhamsterl

próbáld ki magad

https://api.next.tech/api/v1/publishable_key/2A9CAA3419124E3E8C3F5AFCE5306292?content_id=2871d3da-5053-4373-a813-46b6fcf8118c

Összegzés

ebben a fejezetben megtanultad a tárgyak alapjait:

  • egy osztály egy objektum tervrajza.

  • egy osztály változóját osztály vagy objektum példányának nevezzük.

  • egy osztály lehetővé teszi összetett típusok létrehozását az attribútumok csoportosításával a mezők meghatározásával.

  • egy objektum létrehozásához deklarálni kell egy osztály változóját, és példányosítani kell.

  • a pontjelölés hozzáférést biztosít a mezőkhöz.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.