A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat Következő változat | Előző változat Utolsó változat Következő változat mindkét oldalon | ||
oktatas:programozas:objektum_orientalt_tervezes [2022/02/09 08:35] admin [A szoftver készítés folyamata] |
oktatas:programozas:objektum_orientalt_tervezes [2024/01/22 14:45] admin [Sarga Zrt példa] |
||
---|---|---|---|
Sor 2: | Sor 2: | ||
====== Objektum Orientált Tervezés ====== | ====== Objektum Orientált Tervezés ====== | ||
- | |||
* **Szerző:** Sallai András | * **Szerző:** Sallai András | ||
- | * Copyright (c) Sallai András, 2014 | + | * Copyright (c) 2014, Sallai András |
- | * Licenc: GNU Free Documentation License 1.3 | + | * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] |
- | * Web: http://szit.hu | + | * Web: https://szit.hu |
===== A szoftver készítés folyamata ===== | ===== A szoftver készítés folyamata ===== | ||
- | A szoftverek kódolás előtt tervezzük. A tervekhez UML ábrákat | + | Az következő ábra bemutatja egy szoftver tervezésének menetét. |
- | szokás használni. Készítünk egy ábrát, amelyen | + | |
- | ábrázoljuk, egy adott rendszert ki, mikor mire használ. | + | |
{{:oktatas:programozás:oo_tervezes.png|}} | {{:oktatas:programozás:oo_tervezes.png|}} | ||
Sor 35: | Sor 32: | ||
===== A Java osztályhierarchia részlet ===== | ===== A Java osztályhierarchia részlet ===== | ||
+ | Az osztályok hierarchiába szerveződnek. | ||
+ | |||
+ | |||
+ | Minden osztály az Objekt ősosztályból származik, ez a gyökérosztály. | ||
{{:oktatas:programozás:java_objektum_hierachia.png|}} | {{:oktatas:programozás:java_objektum_hierachia.png|}} | ||
Sor 47: | Sor 48: | ||
{{:oktatas:programozás:sargazrt_osztalydiagram.png|}} | {{:oktatas:programozás:sargazrt_osztalydiagram.png|}} | ||
+ | |||
+ | A háttérben minden megalkotott és gyökér osztálynak kinevezett | ||
+ | osztálynak is van egy [[https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html|Object]] nevű őse. Ez a kapcsolat akkor is létrejön, | ||
+ | ha nem jelöljük örökléssel. | ||
+ | |||
+ | Vegyük például a Szemely osztályt: | ||
+ | |||
+ | <code java Java.java> | ||
+ | class Szemely { | ||
+ | String nev; | ||
+ | Integer kor; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | A háttérben olyan, mintha ezt csináltuk volna: | ||
+ | |||
+ | <code java Java.java> | ||
+ | class Szemely extends Object { | ||
+ | String nev; | ||
+ | Integer kor; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | {{:oktatas:programozas:szemely_object.png|}} | ||
+ | |||
+ | |||
+ | Vegyünk egy Employee nevű osztályt, ahol szintén nem állítunk be öröklést: | ||
+ | |||
+ | <code java Employee.java> | ||
+ | class Employee { | ||
+ | Integer id; | ||
+ | String name; | ||
+ | String city; | ||
+ | Double salary; | ||
+ | LocalDate birth; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code java Employee.java> | ||
+ | class Employee extends Object { | ||
+ | Integer id; | ||
+ | String name; | ||
+ | String city; | ||
+ | Double salary; | ||
+ | LocalDate birth; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | {{:oktatas:programozas:employe_object.png|}} | ||
===== Iskola példa ===== | ===== Iskola példa ===== | ||
{{:oktatas:programozás:iskola_osztalydiagram.png|}} | {{:oktatas:programozás:iskola_osztalydiagram.png|}} |